BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 郭蕾 关注 9 他的粉丝 发布于 2018年4月4日. 估计阅读时间: 8 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

看新闻很累?看技术新闻更累?试试下载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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT