文档首页 > > 产品介绍> 开发工具说明> Java SDK

Java SDK

分享
更新时间:2020/07/15 GMT+08:00

CSE Java Chassis 集成 Apache ServiceComb Java Chassis,为 ServiceComb Java Chassis 提供接入华为云微服务引擎 (CSE) 相关的功能,比如认证、仪表盘数据上报等。Apache ServiceComb Java Chassis 结合大量微服务开发实践,实现微服务架构模式, 帮助开发者更加简单、快速的构建微服务应用。可以访问开发指南了解详细情况。

微服务架构模式的核心包含如下几部分:

  • 微服务之间的RPC通信。

    Java Chassis 提供了非常高效的通信方式,并支持多协议扩展,比如最快的 REST 通信模式实现, 异步的二进制通信模式 HIGHWAY 。

  • 分布式微服务实例和服务发现。

    结合 ServiceComb Service Center,实现分布式、多集群服务发现能力,以及强大的微服务元数据管理能力。

  • 配置外置,提供动态、集中的配置管理。

    能够使用 ServiceComb Kie,华为云配置中心等多种配置中心, 并且和 Spring Boot 配置管理能力完整融合。

  • 分布式故障管理,服务容错、隔离、熔断。

    内置故障实例隔离、故障重试、耗时接口隔离等重要分布式故障处理能力。可选使用 Hystrix 的容错、隔离、熔断能力,只需要做简单的配置。

  • 分布式日志追踪。

    提供 Open Tracing 支持。

此外还有性能监控,日志记录系统、健康检查等。 Java Chassis 采用优雅的设计模式,实现了上述所有的核心部件的功能,并且使得这些功能开箱即用。使用 Java Chassis , 开发者能够更加聚焦于业务功能开发,快速的构建商业可用的微服务应用。

表1 CSE Java Chassis 3.*.* 提供的组件说明

组件名称

功能描述

说明

cse-dependency

依赖关系管理。一般在 maven dependency management 中使用。

-

cse-solution-service-engine

一个组合模块,集成了完整的 jar 包依赖,并提供了适合华为云微服务引擎的配置文件 microservice.yaml。依赖这个组件能够简化开发者的 maven 依赖配置。

-

foundation-auth

接入华为云微服务引擎的认证模块。

-

cse-handler-cloud-extension

用于对接华为云微服务引擎的仪表盘功能。

-

表2 CSE Java Chassis 2.5.* 提供的组件说明

组件名称

功能描述

说明

cse-dependency

同 3.0.*

-

cse-solution-service-engine

同 3.0.*

-

foundation-auth

同 3.0.*

-

cse-handler-cloud-extension

同 3.0.*

-

cse-dependency-spring4

等价于 cse-dependency , 适合 spring4 的用户使用

3.0.* 以后只支持 spring 5, spring boot 2, 统一使用 cse-dependency。

cse-dependency-spring5

等价于 cse-dependency , 适合 spring5 的用户使用

3.0.* 以后只支持 spring 5, spring boot 2, 统一使用 cse-dependency。

cse-dependency-spring-boot1

等价于 cse-dependency , 适合 spring boot 1 的用户使用

3.0.* 以后只支持 spring 5, spring boot 2, 统一使用 cse-dependency。

cse-dependency-spring-boot2

等价于 cse-dependency , 适合 spring boot 2 的用户使用

3.0.* 以后只支持 spring 5, spring boot 2, 统一使用 cse-dependency。

cse-solution-spring-cloud

类似于 cse-solution-service-engine, 用于 spring cloud 引用使用微服务引擎的服务发现服务。

3.0.* 以后的版本删除了这个模块。spring cloud 用户推荐使用 spring cloud huawei 接入微服务引擎。

cse-handler-2pc

采用强一致管理分布式事务。

这个模块功能存在设计缺陷,不建议使用。3.0.* 以后的版本删除了这个模块。

cse-handler-tcc

采用 TCC 管理分布式事务。

这个模块功能存在设计缺陷,不建议使用。3.0.* 以后的版本删除了这个模块。可以考虑使用 servicecomb-pack

表3 CSE Java Chassis 和 ServiceComb Java Chassis 版本对应关系

CSE Java Chassis 版本

ServiceComb Java Chassis 版本

3.1.0

2.1.0

3.0.0

2.0.1

2.5.0

1.3.0

一般会维护两个版本,一个是当前主干版本,一个是维护版本。

比如,当前 3.0.* 是主干版本,2.5.* 是维护版本。主干版本会持续推出新功能,维护版本只提供安全更新和重要 bug 修复。

图1 维护版本配套关系
图2 主干版本配套关系
表4 Release Notes

版本

发行时间

说明

3.1.0

2020.6.30

3.0.0

2020.3.28

  • 集成 ServiceComb Java Chassis 2.0.1 版本。
  • 删除 handler-tcc 模块。 handler-tcc 早期用于采用TCC管理分布式事务,这个模块功能不完整,存在设计缺陷,没有产品正式使用。新的替换方案是 DTM 和开源 Pack 解决方案。
  • 删除 handler-2pc 模块。 handler-2pc 早期用于采用强一致管理分布式事务,这个模块功能不完善,存在设计缺陷,不再提供这个功能。

2.5.0

2019.11.6

  • 集成 ServiceComb Java Chassis 1.3.0 版本。
  • 支持上报客户端缓存的实例列表信息到监控平台。
  • 当部署引擎不可用的时候,支持通过配置的方式查询服务中心地址,不影响微服务的启动和注册。
  • 支持配置已经经过SHA256处理的AK/SK信息。

可以采用下面的两种方式之一在项目中引入 CSE Java Chassis。

  • 直接使用 cse-dependency
    这种方式比较适合开始就采用 CSE Java Chassis 开发的用户。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    
    	<groupId>com.huawei.examples</groupId>
    	<artifactId>dependency</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    
    	<dependencyManagement>
    		<dependencies>
    			<dependency>
    				<groupId>com.huawei.paas.cse</groupId>
    				<artifactId>cse-dependency</artifactId>
    				<version>3.0.0</version>
    				<type>pom</type>
    				<scope>import</scope>
    			</dependency>
    		</dependencies>
    	</dependencyManagement>
    
    	<dependencies>
    		<dependency>
    			<groupId>com.huawei.paas.cse</groupId>
    			<artifactId>cse-solution-service-engine</artifactId>
    		</dependency>
    	</dependencies>
    </project>
    
  • 直接使用 java-chassis-dependencies,并引入 CSE Java Chassis 的组件
    这种方式比较适合最开始在技术选择的时候,使用的是 ServiceComb Java Chassis ,下面的示例增加了 CSE Java Chassis 组件包所在的 maven 仓库配置。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.huawei.examples</groupId>
        <artifactId>dependency</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    
        <properties>    
            <huaweicloudsdk-version>3.0.0</huaweicloudsdk-version>    
        </properties>    
    
        <repositories>    
            <repository>    
                <snapshots>    
                    <enabled>false</enabled>    
                </snapshots>    
                <id>huaweicloudsdk-releases</id>    
                <name>huaweicloudsdk</name>    
                <url>https://repo.huaweicloud.com/repository/maven/huaweicloudsdk/</url>    
            </repository>    
        </repositories>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.apache.servicecomb</groupId>
                    <artifactId>java-chassis-dependencies</artifactId>
                    <version>2.0.1</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <dependencies>
            <dependency>
                <groupId>org.apache.servicecomb</groupId>
                <artifactId>solution-basic</artifactId>
            </dependency>
            <dependency>    
                <groupId>com.huawei.paas.cse</groupId>    
                <artifactId>foundation-auth</artifactId>    
                <version>${huaweicloudsdk-version}</version>    
            </dependency>
        </dependencies>
    </project>
    
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问