内容简介:Apache ServiceComb 1.0.0 发布了,此次更新的部分包括 Apache ServiceComb Java-Chassis 与 Apache ServiceComb ServiceCenter。ServiceComb 微服务开源框架 是 Apache 软件基金会的正式孵化项目,由华为于 2017 年 6 月开源,并于 2017 年 12 月正式进入 Apache 软件基金会孵化,成为 Apache 软件基金会孵化的首个微服务框架项目。微服务开源框架 ServiceComb 致力于帮助企业
Apache ServiceComb 1.0.0 发布了,此次更新的部分包括 Apache ServiceComb Java-Chassis 与 Apache ServiceComb ServiceCenter。
ServiceComb 微服务开源框架 是 Apache 软件基金会的正式孵化项目,由华为于 2017 年 6 月开源,并于 2017 年 12 月正式进入 Apache 软件基金会孵化,成为 Apache 软件基金会孵化的首个微服务框架项目。
微服务开源框架 ServiceComb 致力于帮助企业快速构建云原生应用,通过一系列解决方案帮助用户快速开发微服务应用的同时实现对这些微服务应用的高效运维管理。其包括一站式的服务注册、服务治理、动态配置功能,具备服务化契约增强、多语言支持、多通信协议支持等优势特性, 并提供 SAGA 数据最终一致性方案解决微服务架构数据一致性难题。ServiceComb 兼容 Spring Cloud 等业界流行微服务框架,互通业界生态。
主要新增特性及提升如下
Java-chassis
https://github.com/apache/incubator-servicecomb-java-chassis
- 全新的监控指标(Metrics)模块,增加大量监控指标,支持 Prometheus 集成。详情请参考 Metrics 介绍 [1] 和如何集成 Prometheus [2]
- 重构配置中心,支持对接携程 Apollo 作为配置中心,并且可以方便的扩展对接其它三方配置中心。详情请参考配置中心选型与对接 [3]
- POJO 编程模型支持用户使用 CompletableFuture 异步编程。详情请参考使用透明 RPC 方式开发服务消费者 [4] 中“reactive”部分。
- POJO 编程模型支持用户使用 Object 和 Generic 类型作为调用参数。详情请参考接口定义和数据类型 [5]
- 升级 Zipkin 到 Zipkin2,同时支持 v1 和 v2 版本 Zipkin server。关于如何在 ServiceComb 中使用 Zipkin 请参考分布式调用链追踪 [6]
- 微服务间通讯提供文件流传输能力,支持音乐、图片等多媒体场景。如何使用文件流传输请参考文件上传 [7] 和文件下载 [8]
- 在服务级别 QPS 控制基础上,新增支持 API 级别 QPS 控制。现在支持使用 servicecomb.flowcontrol.Consumer.qps.limit.[ServiceName].[Schema].[operation] 配置 API 级别 QPS 控制。
- 增加脚手架和 start.servicecomb.io,支持用户快速构建工程,提供完整的开箱即用能力。现在创建一个 ServiceComb 微服务可以通过 Apache Maven Archetype 方式快速构建,更多详细内容请参考 ServiceComb Java Chassis Archetypes [9],您也可以直接访问 start.servicecomb.io [10] 使用 ServiceComb 集成 SPRING INITIALIZR UI 的方式创建。
- 新增演示如何使用 Gradle 构建 ServiceComb 项目。我们在 BMI [11] 项目中增加了 Gradle 配置。
- 异步编程模型支持 AsycRestTemplate。关于如何使用请参考使用 AsynRestTemplate 开发服务消费者 [12]
- 新增支持 Http2 协议。关于如何使用请参考使用 Http2 通信 [13]
- 实现错误注入接口,允许通过拦截服务请求构造异常场景,例如可以设置发往指定微服务的请求的时延和错误及其触发概率。更多详细内容请参考故障注入 [14]
- 新增服务 Dev 运行模式,开启 Dev 模式时,支持契约动态修改。如何设置 Dev 运行模式请参考本地开发和测试 [15] 中的“通过设置环境信息方便本地调试”部分。
- 实现优雅停机,关闭服务时进行反注册,确保完成已接受请求并完整释放资源。
- 扩展微服务公私钥认证机制,增加了黑白名单功能。ServiceCenter 已经支持通过黑白名单控制微服务的注册发现,但是由于微服务之间最终是直连调用,因此微服务本身也需要有独立的黑白名单认证功能,如何设置请参考公钥认证 [16] 中的“配置黑白名单”部分。
- 支持 Cross-Origin Resource Sharing (CORS)。即支持跨域请求访问设置,例如现在 Ajax 可以直接访问微服务了,更多详细内容请参考 CORS 机制 [17]
- 扩展了 Rest Endpoint 的 Access Log 机制。以前用户只能设置 Access Log 的 Pattern,现在用户可以进一步自定义 Access Log Item,更多内容请参考 Access Log 配置 [18]
- SpringMVC 编程模型现在同样支持类对象作为参数。用户可以使用类对象作为参数,例如:
@RequestMapping("/address") public String address(Address address) { ... } public class Address { String country; String city; }
将会自动转化为/address?city={city}&country={country}。
- 部署在 Tomcat 等 Web 容器中的微服务,现在支持结合 context path 和 servlet pattern 的访问路径请求服务。例如调用路径为 cse://service/a/b…,部署在 Tomcat 等 Web 容器中后也支持以 cse://service/{context path}/{servlet pattern}/a/b… 为 URL 访问。
- 缺省自动扫描 main 函数所在包,简化用户配置。
- 提供客户端 ping 机制,能够通过 ping 扩展,检测客户端缓存实例是否可用。该功能默认启用,配合实例隔离功能对检测失败的实例进行隔离。
- 当微服务发生服务降级,实例隔离熔断等状况时,将触发相应的 Event,便于第三方集成(上报)。如何获取这类 Event 请参考获取熔断与实例隔离告警事件 [19]
ServiceCenter
https://github.com/apache/incubator-servicecomb-service-center
-
主要新增了如下特性:
详情请参考 http://servicecomb.incubator.apache.org/docs/service-center-ui/
- PACT Broker 共享契约支持
- 支持 AsycRestTemplate 异步编程
- 日志分割(Log Rotation)
- 支持 IPv6
- 支持后端存储拓展
- 契约测试:支持使用前端对 Swagger API 进行测试
- 消费者服务自发现
- 稳定性提升及 bug fix。
- 优化 API 接口,显著提高性能。
- 优化 Restful 客户端及插件加载器,提升易用性。
- 无缝集成 metrics 及 tracing 工具,提升监控能力。
- 增加了默认的 TLS 加密套件,提升基于规则的服务发现的安全性。
- 服务依赖管理采用事件驱动机制。
- 提升 ETCD 链接的弹性伸缩能力和自我修复能力。
- Service-Center 支持在多基础设施中部署。
- 优化前端界面 UI,提供更多功能及提升易用性。
下载地址
- Service-Center:http://servicecomb.incubator.apache.org/release/service-center-downloads/
- Java-chassis:http://servicecomb.incubator.apache.org/release/java-chassis-downloads/
来源: 微服务蜂巢
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- GoLand 2019.1 Beta 发布,重要里程碑
- 里程碑,Apache ServiceComb 1.0.0 正式发布
- 里程碑 | Apache Dubbo 发布 v2.7.0
- Kotlin 1.4 第一个里程碑版本 M1 发布
- 【里程碑】Linkis 1.0.0-RC1 版本发布
- TimescaleDB 1.0.0 rc3 发布,重要里程碑
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。