转载

ServiceComb java-chassis和CSE java-chassis的区别

ServiceComb java-chassis和CSE 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 java-chassis和CSE java-chassis的区别

功能集合

可以简单将 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 java-chassis和CSE java-chassis的区别

版本管理

ServiceComb CSE 采用 One Branch 的机制进行版本交付,保证代码同源,使得开发者能够更好的使用开源版本或者商业版本。

ServiceComb java-chassis和CSE java-chassis的区别

图:[ServiceComb微服务开发框架介绍]( https://bbs.huaweicloud.com/blogs/ad88f16dd98511e8bd5a7ca23e93a891 )

所有代码的修改,优先在 ServiceComb 修改,然后 CSE 整合 ServiceComb 的版本,并对版本进行测试验证,发布 CSE 的版本。 CSE 发布的 ServiceComb 版本基于某一个具体的 commit ,内部版本命名继承 ServiceComb 的版本,比如 1.0.0.B001 ,一直往上。

ServiceComb java-chassis和CSE java-chassis的区别

使用限制

目前ServiceComb和CSE版本的使用,都是免费的。对于需要持续集成,快速迭代的用户,建议使用CSE的版本,这样能够更快的获取到最新的版本。ServiceComb的发布版本可以从maven中央库进行获取,CSE的发布版本在华为云提供的maven仓库。华为云的maven仓库也代理了中央仓库,所以开发者可以使用[华为云的maven仓库配置]( https://huaweicse.github.io/cse-java-chassis-doc/ ) 同时使用ServiceComb和CSE。CSE的版本说明(Release Notes)也可以从这里获得。

ServiceComb java-chassis和CSE java-chassis的区别
ServiceComb java-chassis和CSE java-chassis的区别

往期精彩回顾

Netty 消息接收类故障案例分析

基于CSE的微服务工程实践-多微服务框架演进

Netty 和 RPC 框架线程模型分析

ServiceComb java-chassis和CSE java-chassis的区别

扫码加群

ServiceComb java-chassis和CSE java-chassis的区别

更多精彩

ServiceComb java-chassis和CSE java-chassis的区别

ServiceComb java-chassis和CSE java-chassis的区别

原文  http://mp.weixin.qq.com/s?__biz=MzUxNTEwNTg5Mg==&mid=2247487872&idx=1&sn=0a69fcbb89d80535036e7940c3ed8fb9
正文到此结束
Loading...