Pack 0.4.0新特性解读 |集成Consul

396 阅读2分钟
原文链接: mp.weixin.qq.com
点击上方蓝字带你去体验新特性~

ServiceComb Pack 从 0.4.0 版本开始支持将 Alpha 服务实例注册到发现服务 Consul 中,Omega 端的程序通过注册中心 Consul 就可获取Alpha 服务器实例地址。

启动Consul
  • 使用 Docker 启动 Consul,更多方式请参考官方网站 https://www.consul.io

docker run -d -p 8500:8500 consul
  • 访问 Consul UI

在浏览器中访问 http://0.0.0.0:8500 ,能看到如下页面表示 Consul 启动成功

启动 Alpha

注册中心功能通过设置

 spring.cloud.consul.enabled=true  参数开启

java -jar alpha-server-0.4.0-exec.jar \  --server.port=8090 \  --alpha.server.port=8080 \  --spring.datasource.url="jdbc:postgresql://127.0.0.1:5432/saga?useSSL=false" \  --spring.datasource.username=saga-user \  --spring.datasource.password=saga-password \  --spring.cloud.consul.enabled=true \  --spring.cloud.consul.host=0.0.0.0 \  --spring.cloud.consul.port=8500 \  --spring.profiles.active=prd

注意: 更多 Consul 参数请参考 Spring Cloud Consul 2.x Spring Cloud Consul 1.x

Alpha 启动完毕后可以看到已经注册到 Consul↓

执行命令行 curl http://0.0.0.0:8500/v1/agent/services  可以看到已经将 Alpha 的 gRPC 地址和端口注册到 Consul 的 Tags 中

{    "servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88": {        "ID": "servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88",        "Service": "servicecomb-alpha-server",        "Tags": [            "alpha-server-host=0.0.0.0",            "alpha-server-port=8080",            "secure=false"        ],        "Meta": {},        "Port": 8090,        "Address": "192.168.1.116",        "Weights": {            "Passing": 1,            "Warning": 1        },        "EnableTagOverride": false    }}
配置Omega 端

ServiceComb Pack 0.4.0 Omega 默认依赖 Spring Boot 2.x Spring 和 Cloud Consul 2.x ,如果你的 Omega 端项目依赖 Spring Boot 1.x 你可以使用 -Pspring-boot-1  参数重新编译 Spring Boot 1.x 和 Spring Cloud Consul 1.x 的版本

修改原有 omega 端项目

增加以下依赖↓↓ ↓

<dependency>  <groupId>org.apache.servicecomb.pack</groupId>  <artifactId>omega-spring-cloud-consul-starter</artifactId>  <version>${pack.version}</version></dependency>

在 application.yaml  添加下面的配置项↓ ↓↓

spring:  cloud:    consul:      discovery:        register: false      host: 0.0.0.0      port: 8500      alpha:  cluster:    register:      type: consul
  • spring.cloud.consul.host  配置 Consul 注册中心的地址

    spring.cloud.consul.port  配置 Consul 注册中心的端口

    spring.cloud.consul.discovery.register=false  表示不注册自己到注册中心,更多 Consul 客户端配置可以参考Spring Cloud Consul 2.x Spring Cloud Consul 1.x

  • alpha.cluster.register.type=consul  配置 Omega 获取 Alpha 的方式是通过 Consul 的注册中心

  • spring boot 和 spring cloud 版本兼容

    如果你的项目使用的不是spring boot 2.1.1版本,那么请参照此列表增加兼容的spring-cloud-starter-consul-discovery版本

spring boot spring-cloud-starter-consul-discovery
2.1.x.RELEASE 2.1.1.RELEASE
2.0.x.RELEASE 2.0.2.RELEASE
<dependencyManagement>       <dependencies>         <dependency>           <groupId>org.springframework.cloud</groupId>           <artifactId>spring-cloud-starter-consul-discovery</artifactId>           <version>2.0.2.RELEASE</version>         </dependency>       </dependencies>     </dependencyManagement>

 

未来,新功能还会不断加入,欢迎大家一起参与完善。共同打造优秀的微服务生态圈。

Pack 0.4.0 的重要更新

*提供Alpha HA实现

*支持使用eureka或consul进行Alpha的服务发现

*修复事件扫描线程退出的问题

前期阅读 ServiceComb1.2.0发布|新版本特性解读 Javachaiss1.2.0新特性解读 |使用inspector功能... 文章预告

● Pack 0.4.0新特性解读 |集成Spring Cloud Eureka

● Pack 0.4.0新特性解读 |Cluster集群实现

项目地址:

https://github.com/apache/servicecomb-pack

更多信息请浏览官网: 

http://servicecomb.apache.org/cn

长按关注>>> 盘它 了解更多新特性, 请点在看

戳“阅读原文” 给Pack点个“⭐”吧