写点什么

Apache ServiceComb(incubating) 第一个版本发布

  • 2018-04-03
  • 本文字数:1906 字

    阅读完需:约 6 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

开源的微服务解决方案 ServiceComb 于去年 12 月进入 Apache 软件基金会孵化,并于 4 月 3 日在 Apache 官网上的新闻版块正式通告 Apache ServiceComb (incubating) 发布 Java-Chassis 1.0.0-m1、 Service-Center 1.0.0-m1 Saga 0.1.0 版本。

下载地址:

http://servicecomb.incubator.apache.org/release/service-center-downloads/

http://servicecomb.incubator.apache.org/release/java-chassis-downloads/

http://servicecomb.incubator.apache.org/release/saga-downloads/

版本说明: http://servicecomb.incubator.apache.org/release/service-center-release-notes/ http://servicecomb.incubator.apache.org/release/java-chassis-release-notes/ http://servicecomb.incubator.apache.org/release/saga-release-notes/

版本变更概览

Service Center

支持查询服务 Schema 列表

支持查询服务统计信息

支持 SC 多实例的状态查询

支持消费者发现 SC 多实例

基于事件驱动实现了服务依赖规则

增加数据库压缩周期的配置项,减少数据库压缩时产生的碎片化

上调默认的服务和实例数上限

修正服务发现黑名单规则

增加导出指标数据到 Prometheus,增加 Grafana 模板

Java Chassis

Java Chassis 的项目组织从”io.servicecomb”变更为”org.apache.servicecomb”

重构监控指标模块,增加大量监控指标,支持 Prometheus

重构配置中心,可以方便对接三方配置中心,支持对接携程 Apollo 动态配置中心

POJO 编程模型支持用户使用 CompletableFuture 异步编程

POJO 编程模型支持用户使用 Object 和 Generic 类型作为调用参数

优化了 Spring MVC 的集成

内部升级到 zipkin2,同时支持 v1/v2 版本的 zipkin server

Saga

Pack 原型实现,通过切面编程技术获取事务信息,通过集中式的事务管理器协调事务执行

支持通过 Annotation 在用户代码定义 Saga 事务

以下是具体的亮点介绍。

分布式追踪

微服务架构下,分布式追踪是快速定位具有复杂依赖关系的微服务应用问题的必要手段,Service-Center 1.0.0-m1 增加了 Zipkin 支持, Java-Chassis 1.0.0-m1 进行升级后也可同时支持 zipkin v1/v2。

详细信息请参考:

https://github.com/apache/incubator-servicecomb-service-center/tree/master/server/plugin/infra/tracing/buildin

https://servicecomb.incubator.apache.org/cn/users/distributed-tracing/

丰富的指标数据支持

微服务架构下,运维管理系统需要大量有效的指标数据以支撑弹性伸缩,并在系统性能下降时使能快速定位瓶颈部件,Service-Center 1.0.0-m1 和 Java-Chassis 1.0.0-m1 中解耦了指标模块,并增加大量有效的监控指标,且均支持对接 Prometheus。

详细信息参考:

http://servicecomb.incubator.apache.org/users/metrics-in-1.0.0-m1/

配置中心

微服务架构下爆发式增长的服务数量和服务器数量将导致使用配置文件和环境变量来管理程序的方式不可行,Java-Chassis 通过对旧版本 config-cc 模块的重构,在 1.0.0-m1 版本支持了统一的配置中心,默认支持 Apollo,并可方便的对接其他三方配置中心。

参考:

https://servicecomb.incubator.apache.org/cn/docs/config_center_integration/

微服务数据最终一致性解决方案

ServiceComb 提供了 Saga 用于解决微服务中的数据最终一致性难题,Saga 0.1.0 从架构层面进行了升级,适用于 高并发,嵌套调用,高延时调用的跨服务事务场景,且通过对 annotation 的支持极大提高易用性。

Saga0.1.0 使用 Pack 模型,整个 Saga 服务由 Alpha 和 Omega 组成。

  • Alpha 充当协调者的角色,主要负责对事务的事件进行持久化存储以及协调子事务的状态,使其最终得以与全局事务的状态保持一致,即保证事务中的子事务要么全执行,要么全不执行。
  • Omega 是用户程序侧代理,负责对网络请求进行拦截并向 Alpha 上报事务事件,并在异常情况下根据 Alpha 下发的指令执行相应的补偿或重试操作。

大家可以通过以下链接获取更详细信息:

https://github.com/apache/incubator-servicecomb-saga/blob/master/docs/design_zh.md

https://github.com/apache/incubator-servicecomb-saga/blob/master/docs/user_guide_zh.md

https://github.com/apache/incubator-servicecomb-saga/blob/master/saga-demo/booking/README.md

https://servicecomb.incubator.apache.org/cn/docs/saga_pack_design/

ServiceComb 相关资料

官方网站 : http://servicecomb.incubator.apache.org/

JIRA : https://issues.apache.org/jira/browse/SCB

邮件列表 : dev@servicecomb.apache.org

加入社区: https://servicecomb.incubator.apache.org/cn/docs/join_the_community

2018-04-03 20:583354
用户头像

发布了 219 篇内容, 共 139.2 次阅读, 收获喜欢 191 次。

关注

评论

发布
暂无评论
发现更多内容

如何度量敏捷开发团队

Yanel 说敏捷产品

敏捷 敏捷开发

Oracle 将为职场歧视买单,4100 位女员工集体诉讼

神经星星

oracle 互联网巨头 互联网 职场

Linux-常用命令

Flychen

Linux

你懂什么是"结对测试"么?

Yanel 说敏捷产品

产品 产品经理 产品设计 产品开发 产品推荐

做一个"靠谱"的敏捷教练

Yanel 说敏捷产品

敏捷 敏捷开发

人是一切

Neco.W

个人感想 感悟

PyTorch 1.5 发布,与 AWS 合作 TorchServe

神经星星

人工智能 facebook 微软 亚马逊云 AWS Lightsail 工具

我是如何读完技术书,然后忘得一干二净的

ayesd

读书 读书方式

你必须了解的产品经济学

Yanel 说敏捷产品

产品 产品经理 产品设计 产品开发 产品推荐

游戏夜读 | 游戏数据分析师

game1night

tcp_tw_recycle 【坑】

孤星可

TCP 服务端

2020版Kubernetes快速上手指南,让你所见即所得

ABC实验室

Kubernetes 容器 云原生 群集安装 新手指南

"深刻创新"八步法

Yanel 说敏捷产品

产品 产品经理 产品设计 产品开发 产品推荐

流量的战场,如何做裂变?

Yanel 说敏捷产品

产品 产品经理 产品设计 产品开发 产品推荐

变化在加速,你的机会和挑战在哪里?

Yanel 说敏捷产品

产品 产品经理 产品设计 产品开发 产品推荐

粗糙的草稿编辑成文章的五个步骤

董一凡

写作

学会用"云—雨—伞"引导敏捷实践

Yanel 说敏捷产品

敏捷 敏捷开发

使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (二)为什么要写单元测试

编程道与术

编程 编程语言 TDD 代码审查 单元测试

DIY 可用性测试

Yanel 说敏捷产品

产品 产品经理 产品设计 测试 产品推荐

企业经营 "造物" "造人" "造钱"三阶段

Yanel 说敏捷产品

敏捷 敏捷开发

扎心!天天写代码,方向真的对吗?

Apache Flink

大数据 flink 流计算 实时计算

常用电脑软件清单

彭宏豪95

软件 工具 windows 生产力

职场寒冬,给你讲四个小故事

池建强

人生 职场

自动化测试框架知识,读这一篇就够了!

禅道项目管理

程序员 DevOps 自动化 测试

从"远程工作"到"分布式团队"

Yanel 说敏捷产品

项目管理 敏捷 敏捷开发

python 文章中图片下载

Flychen

Mac效率配置指南

Winann

macos 效率 效率工具 Mac

我的理财小心得

史前靓仔

为什么公众号订阅没有「分组」的功能?

Fenng

微信公众平台 产品设计

聊聊“坚持”这件事

小天同学

个人成长 写作 坚持 自控力

Netty 源码解析(七): NioEventLoop 工作流程

猿灯塔

Apache ServiceComb(incubating) 第一个版本发布_Java_小盖_InfoQ精选文章