在前面的很多章节中,有讨论到关于微服务架构的相关话题,包括服务网关、服务发现、服务熔断等相关话题,本章我们就借助Spring Cloud相关组件,来实现微服务一些基础架构的搭建与应用。
这是我们常见的微服务架构,来自https://spring.io/官网
这里写图片描述
本章涉及的Spring Cloud相关组件包含如下:

  • Config Server:配置中心
  • Eureka Server:服务注册中心
  • Zuul Api Gateway:服务网关
  • Hystrix:服务熔断
  • Spring Boot Admin:服务监控与管理
  • Feign Client:服务调用

下图是基础架构图
这里写图片描述

服务监控

通过Spring Boot Admin监控我们所有的服务运行状态
这里写图片描述
支持动态修改日志级别
这里写图片描述

服务网关

对外统一服务地址:

http://zuul_ip:zuul_port/service-id/route_path

比如,我们访问地址:

http://localhost:8009/config-client/find/999

其实就是访问服务config-client的接口:

http://localhost:8889/find/999

服务调用与熔断

通过使用声明式Rest客户端FeignClient,我们可以简化微服务间的服务调用,同时通过指定fallback支持Hystrix服务熔断

@FeignClient(value = "config-server", fallback = FindServiceHystrix.class)

正常调用结果:

find Hello 999! from config server

服务不可用返回结果:

find oops, config server down for hello server 999

完整代码:https://github.com/ypmc/spring-cloud

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐