- #spring cloud bus kafka
- spring.cloud.bus.enabled=true
- spring.cloud.bus.trace.enabled=false
- spring.cloud.stream.kafka.binder.zk-nodes=192.168.11.30:2181,192.168.11.33:2181,192.168.11.35:2181
- spring.cloud.stream.kafka.binder.brokers=192.168.11.30:9092,192.168.11.33:9092,192.168.11.35:9092
spring cloud config架构图如下:
一些领会
Spring cloud config包含4部分
b)config server供给了基于资本的HTTP接口 经由过程@EnableConfigServer开启设备办事端应用
实际应用过程中,我们应用了
- spring cloud consul作为办事注册和发明组件
- spring cloud config作为分布式/版本化设备治理
- spring cloud bus作为消息总线用于刷新分布式应用设备
- spring boot admin作为同一的应用监控后台
- spring cloud Netflix feign 作为rest办事调用client
- spring cloud Netflix zuul 作为路由、过滤网关
- spring cloud consul
- # git config
- spring.cloud.config.server.git.uri=http://60.191.68.43:19090/config/{application}-config.git
- spring.cloud.config.server.git.username=xxx
- spring.cloud.config.server.git.password=xxx
- spring.cloud.config.server.git.force-pull=true (这个设备可以在设备仓库冲突的时刻强迫拉取,而不会取不到最新的设备)
- 经由过程如上设备git仓库地址
经由过程如上设备git仓库地址
Config server以rest方法供给设备资本,如下所示:
c)config client,经由过程设备的url或者办事发明拉取config server设备 Config server 开启办事发明后,config client可以经由过程办事发明找到config server
我们的config client应用consul办事发明来找到config server来拉取设备,默认ConsulDiscoveryClient获取办事的时刻是根据办事id获取所有办事节点,即获取了down的办事,造成拉取设备掉败,查看consul办事发明的设备类ConsulDiscoveryProperties发明默认queryPassing=false,经由过程设备改为true即可返回所有健康检查经由过程的办事。
d)spring cloud bus 分布式应用设备更新通知 Spring cloud bus支撑rabbitmq和kafka,因为公司已经安排kafka,所以应用了kafka作为spring cloud bus的消息组件。
设备如下:
架构如下:
- Decoder feignDecoder: ResponseEntityDecoder(这是对SpringDecoder的封装)
- Encoder feignEncoder: SpringEncoder
- Logger feignLogger: Slf4jLogger
- Contract feignContract: SpringMvcContract
- Feign.Builder feignBuilder: HystrixFeign.Builder
a)git设备仓库,存放应用各情况设备
这时Spring Cloud Bus做设备更新步调如下:
- 提交卸码,应用 git 的 webhook 触发post请求给 bus/refresh
- server端接收到请求并发送给Spring Cloud Bus
- Spring Cloud bus接到消息并通知给其它客户端
- 其它客户端接收到通知,请求Server端获取最新设备
- 全部客户端均获取到最新的设备
spring boot admin
spring boot admin是spring boot应用的监控治理办事,经由过程办事发明拉取办事列表,经由过程ApplicationRegistry注册到内部的map或者应用Hazelcast分布式存储。经由过程扩大zuul的RouteLocator对各个应用的spring boot actuator endpoint进行路由请求,返回各个应用的各项指标数据,经由过程angular js展示。地址: http://middleware.nidianwo.com/
推荐阅读
近日,Google正式宣布了Android 8.0(奥利奥)。除了可见的界面和功能更新,Android 8.0在体系安然方面也做出了一些重要改变。不过,对于Android团队的安然人员来说,这只是漫长路程中的一>>>详细阅读
本文标题:Spring Cloud微服务实践
地址:http://www.17bianji.com/lsqh/37151.html
1/2 1