工程地址:微服务实战:Eureka+config+bus+sleuth+admin
工程介绍:工程内有集群eureka两个,config-client两个用来测试配置更新同步,admin一个,config一个;相关软件和jar包在步骤1
工程截图如下:
组件情况如下:
功能 | 名称 |
企业总线 | spring-cloud-bus |
配置中心 | spring-cloud-config |
注册中心 | spring-cloud-netflix(Eureka) |
远程接口调用 | spring-cloud-openfeign |
链路追踪 | spring-cloud-sleuth |
ZipKin | |
服务监控台 | Spring Boot Admin |
1软件准备:zipkin,git,rabbitmq3.10.7+Eralng25.0.3
zipkin启动后如下:http://127.0.0.1:9411/zipkin/
rabbitmq:http://localhost:15672/#/ (安装前需要先安装对应版本的Eralng,版本对应关系查看rabbit官网),用户名密码默认都是guest
git: http://localhost:8888/Repository/Index(端口自定义,通过IIS启动,因网络不稳定所以放弃了GitHub)
2启动eureka和neweureka,启动后访问http://localhost:2222/和http://localhost:2223/,用户名密码是root/123456
3启动admin,访问http://127.0.0.1:8000/wallboard
4启动consumer和provider,config,config-client和config-client2(要先启动config,再启动config-client)
启动后查看eureka和admin
5验证:
5.1链路追踪和服务监控台,通过postman调用http://127.0.0.1:7001/consumer/test
查看zipkin日志,可以看出consumer调用了provider的情况,筛选条件可以通过工程名和traceid(日志中有打印)
查看admin(http://127.0.0.1:8000/),进入consumer,可以看到服务整体状态和日志
5.2配置中心和消息队列:
为了验证效果,先建立好配置文件的工程,放置文件 config-eureka-dev.yml
data:
env: config-eureka-dev
user:
password: happy new year-client9
username: eureka-config-user
demo:
test:server
访问http://127.0.0.1:7778/data和http://127.0.0.1:7777/data,得到的如图结果
接下来我们来修改配置中心的配置,修改后如下
data:
env: config-eureka-dev
user:
password: happy new year-client10
username: eureka-config-user
demo:
test:server
目前不刷新客户端拿不到最新的数据,config提供了两种刷新方式,全量刷新(http://localhost:9090/actuator/busrefresh)和定点刷新(http://localhost:9090/actuator/busrefresh/configclient:7777),下面我展示下全量刷新的结果:
从mq上可以看到有消息生产和消费, http://127.0.0.1:7778/data和http://127.0.0.1:7777/data 都可以拿到最新的数据
至此,验证完毕,如果有任何问题,可以在文章下方留言,此外另有文章介绍nacos-gateway-Sentinel,欢迎交流