ServiceComb java-chassis和CSE java-chassis的区别
【摘要】 本文从功能集合、版本管理和使用限制等方面介绍开源SDK和商业SDK的区别。
说明:从 ServiceComb java-chassis 2.1.3 版本开始,不再提供对应的 CSE java-chassis 版本。开发者可以直接使用ServiceComb java-chassis接入华为云微服务引擎,老版本的能力已经开源到社区。
针对开发者的常见疑问,本文从功能集合、版本管理和使用限制等方面介绍开源SDK和商业SDK的区别。为了简单,下面用ServiceComb指代ServiceComb java-chassis,用CSE指代CSE java-chassis,但实际上,ServiceComb和CSE的分别作为开源解决方案和商业解决方案,他们包含了重叠的功能,也包含独特的功能。[ServiceComb微服务开发框架介绍](https://bbs.huaweicloud.com/blogs/ad88f16dd98511e8bd5a7ca23e93a891) 介绍了ServiceComb,CSE的介绍可以参考[官网]( https://support.huaweicloud.com/cse/index.html)。
功能集合
可以简单将ServiceComb理解为CSE的子集,CSE包含了一些用于华为云认证、管理相关的模块。从开发者的角度看,他们的使用方式完全一样;从运维者的角度来看,使用CSE开发的微服务能够更加方便的接入华为云和使用云上功能。
以ServiceComb开发的微服务修改为CSE为例,可以看出差异。ServiceComb应用的依赖关系中dependency management为:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>java-chassis-dependencies</artifactId>
<version>1.1.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
CSE为:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.huawei.paas.cse</groupId>
<artifactId>cse-dependency</artifactId>
<version>2.3.62</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在实际依赖的jar包中,可以添加CSE的认证等类型的jar包,就启用了云上功能。
… ServiceComb相关的包为org.apache.servicecomb
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>transport-highway</artifactId>
</dependency>
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>transport-rest-vertx</artifactId>
</dependency>
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>transport-rest-servlet</artifactId>
</dependency>
… CSE相关的包为com.huawei.paas.cse。目前主要就是下面两个包。
<dependency>
<groupId>com.huawei.paas.cse</groupId>
<artifactId>cse-handler-cloud-extension</artifactId>
</dependency>
<dependency>
<groupId>com.huawei.paas.cse</groupId>
<artifactId>foundation-auth</artifactId>
</dependency>
ServiceComb和CSE的最新版本都提供了简化的聚合依赖,使用和替换起来更加方便。ServiceComb的聚合依赖为:
<dependencies>
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>solution-basic</artifactId>
</dependency>
</dependencies>
CSE的聚合依赖为:
<dependencies>
<dependency>
<groupId>com.huawei.paas.cse</groupId>
<artifactId>cse-solution-service-engine</artifactId>
</dependency>
</dependencies>
版本管理
ServiceComb和CSE采用One Branch的机制进行版本交付,保证代码同源,使得开发者能够更好的使用开源版本或者商业版本。
图:[ServiceComb微服务开发框架介绍](https://bbs.huaweicloud.com/blogs/ad88f16dd98511e8bd5a7ca23e93a891)
所有代码的修改,优先在ServiceComb修改,然后CSE整合ServiceComb的版本,并对版本进行测试验证,发布CSE的版本。CSE发布的ServiceComb版本基于某一个具体的commit,内部版本命名继承ServiceComb的版本,比如1.0.0.B001,一直往上。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
debug_w p z2020/08/14 08:45:391楼编辑删除举报
puppet2020/11/13 02:21:59编辑删除举报
liubao682020/12/01 01:46:24编辑删除举报
上传下载参考:https://docs.servicecomb.io/java-chassis/zh_CN/general-development/upload-download/
关于 java-chassis 的使用问题, 可以在这里提问,会得到更加及时的回复: https://github.com/apache/servicecomb-java-chassis/issues