4

[里程碑]Apache ServiceComb 1.0.0版本正式发布

 3 years ago
source link: http://servicecomb.apache.org/cn/docs/release-note-1-0-0
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

[里程碑]Apache ServiceComb 1.0.0版本正式发布

少于 1 分钟 阅读

​ 近日,正在Apache基金会孵化项目—微服务解决方案Apache ServiceComb(incubating) 的1.0.0版本通过社区投票,正式发布。这次发版的项目包括 Apache ServiceComb Java-Chassis (以下简称 Java-chassis)以及Apache ServiceComb ServiceCenter (以下简称ServiceCenter)。ServiceComb从2017年12月进入Apache基金会孵化至今半年时间内,一步一个脚印,于2018年3月发布1.0.0-m1版本、2018年6月1.0.0-m2发布版本,并于2018年8月完成了1.0.0里程碑版本的发布。当前,已经有10+企业使用了ServiceComb 进行商用,社区参会10+次,举办3场Meetup。本次的1.0.0版本发布,意味着ServiceComb 版本在符合Apache软件基金会要求的前提下,正式进入了稳定态。ServiceComb进入Apache基金会孵化后的主要新增特性及提升如下:

Java-chassis

  • 全新的监控指标(Metrics)模块,增加大量监控指标,支持Prometheus集成

  • 重构配置中心,支持对接携程Apollo作为配置中心,并且可以方便的扩展对接其它三方配置中心

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

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

  • 升级Zipkin到Zipkin2,同时支持v1和v2版本Zipkin server

  • 微服务间通讯提供文件流传输能力,支持音乐、图片等多媒体场景

  • 在服务级别QPS控制基础上,新增支持API级别QPS控制;

    现在支持使用servicecomb.flowcontrol.Consumer.qps.limit.[ServiceName].[Schema].[operation] 配置API级别QPS控制。

  • 增加脚手架和start.servicecomb.io,支持用户快速构建工程,提供完整的开箱即用能力;

    现在创建一个ServiceComb微服务可以通过Apache Maven Archetype方式快速构建,更多详细内容请参考ServiceComb Java Chassis Archetypes,您也可以直接访问start.servicecomb.io使用ServiceComb集成SPRING INITIALIZR UI的方式创建;

  • 新增演示如何使用Gradle构建ServiceComb项目;

    • 我们在BMI项目中增加了Gradle配置;
  • 异步编程模型支持AsycRestTemplate

  • 新增支持Http2协议;

  • 实现错误注入接口,允许通过拦截服务请求构造异常场景,例如可以设置发往指定微服务的请求的时延和错误及其触发概率;

  • 新增服务Dev运行模式,开启Dev模式时,支持契约动态修改;

    • 如何设置Dev运行模式请参考本地开发和测试中的“通过设置环境信息方便本地调试”部分;
  • 实现优雅停机,关闭服务时进行反注册,确保完成已接受请求并完整释放资源;

  • 扩展微服务公私钥认证机制,增加了黑白名单功能;

    • ServiceCenter已经支持通过黑白名单控制微服务的注册发现,但是由于微服务之间最终是直连调用,因此微服务本身也需要有独立的黑白名单认证功能,如何设置请参考公钥认证中的“配置黑白名单”部分;
  • 支持Cross-Origin Resource Sharing (CORS);

    • 即支持跨域请求访问设置,例如现在Ajax可以直接访问微服务了,更多详细内容请参考CORS机制
  • 扩展了Rest Endpoint的Access Log机制;

    • 以前用户只能设置Access Log的Pattern,现在用户可以进一步自定义Access Log Item,更多内容请参考Access Log配置
  • 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,便于第三方集成(上报)

ServiceCenter

1

  • 主要新增了如下特性:
    • PACT Broker共享契约支持
    • 支持AsycRestTemplate异步编程
    • 日志分割(Log Rotation)
    • 支持IPv6
    • 支持后端存储拓展
    • 契约测试:支持使用前端对Swagger API进行测试
      • 详情请参考http://servicecomb.incubator.apache.org/docs/service-center-ui/
    • 消费者服务自发现
  • 稳定性提升及bug fix
  • 优化API接口,显著提高性能
  • 优化Restful 客户端及插件加载器,提升易用性
  • 无缝集成metrics 及tracing工具,提升监控能力
  • 增加了默认的TLS加密套件,提升基于规则的服务发现的安全性
  • 服务依赖管理采用事件驱动机制
  • 提升ETCD链接的弹性伸缩能力和自我修复能力
  • Service-Center 支持在多基础设施中部署
  • 优化前端界面UI,提供更多功能及提升易用性

下载地址:

Java-chassis:

http://apache.org/dyn/closer.cgi/incubator/servicecomb/incubator-servicecomb-java-chassis/1.0.0/

Service-Center:

http://apache.org/dyn/closer.cgi/incubator/servicecomb/incubator-servicecomb-service-center/1.0.0/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK