点击上方蓝字带你去体验新特性~
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点个“⭐”吧