如图所示:
Eureka 服务注册与发现
service-admin 生产者多个,注册到Eureka上
Ribbon+RestTemplate
消费者 ,也会注册到Eureka上,每次请求会负载均衡,请求不同的生产者,当找不到生产者时加入熔断机制hystrix,在对应的方法上加上注解,如果失败,则直接返回错误请求提示
Feign 继承了ribbon,且有负载均衡,自带熔断机制,hystrix
消费者 这个的熔断器hystrix采用接口注解模式,实现对应的生产者service接口,如果出现请求延迟超时,或者无法访问对应的服务时,直接返回出现问题提示内容,不在向后发送请求
hystrix 熔断器可以防止雪崩
熔断器监视器
zuul :过滤和负载均衡 使用API网关对应不同的消费者名称
注册到Eureka -sever,,开启Eureka的Client,路由转发和过滤器,根据不同的请求路径,则进行不同的转发请求,达到负载均衡
配置服务 配置文件上线放到gitlab
客户端经过zuul、nginx负载均衡
FallbackProvider 由spring cloud 提供的
聚合器加链式服务
服务端 能够查看到gitlab配置文件
客户端 starter-config
三个常见的环境:
- 开发环境
- 测试环境
- 生产环境
在每个项目中将配置文件以application.yml和application-prod.yml区分,mvn package clean打包,启动项目 java -jar 项目jar.jar (没有参数时默认采用application.yml 有参数时 --spring.profiles.active=prod )
nohup java -jar xx.jar --spring.profiles.active=prod >xx.log 2>&1 &
推荐:https://blog.csdn.net/s1547823103/article/details/80296943