zoukankan      html  css  js  c++  java
  • ServiceComb java-chassis和CSE java-chassis的区别

    【摘要】 本文从功能集合、版本管理和使用限制等方面介绍开源SDK和商业SDK的区别。

    针对开发者的常见疑问,本文从功能集合、版本管理和使用限制等方面介绍开源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的机制进行版本交付,保证代码同源,使得开发者能够更好的使用开源版本或者商业版本。

    image.png

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

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

    使用限制

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

    来源:华为云社区原创  作者:liubao68

  • 相关阅读:
    「UVA12293」 Box Game
    「CF803C」 Maximal GCD
    「CF525D」Arthur and Walls
    「CF442C」 Artem and Array
    LeetCode lcci 16.03 交点
    LeetCode 1305 两棵二叉搜索树中的所有元素
    LeetCode 1040 移动石子直到连续 II
    LeetCode 664 奇怪的打印机
    iOS UIPageViewController系统方法崩溃修复
    LeetCode 334 递增的三元子序列
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13165967.html
Copyright © 2011-2022 走看看