1、微服务架构构成
单体架构(通过应用集群和数据库集群来提高性能,多余模块存在浪费)
垂直架构(新的功能模块通过新项目来实现,数据库之间存在交叉关联。存在数据冗余,和单体架构一样通过扩展集群结点,成本高,有性能瓶颈。)
SOA架构(ESB服务总线,基于webservice协议的接口调用。)
微服务架构(采用Restful轻量协议进行服务传送)
技术栈
2、相关技术栈简要理解
- Eureka服务治理
启动类添加注解@EnableEurekaServer,@EnableEurekaClient
- Ribbon负载均衡
在启动类中添加@EnableDiscoveryClient注解,服务发现;
在具体集群的对象上添加@LoadBalanced注解,如:
<wiz_code_mirror>
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate(new OkHttp3clientHttpRequestFactory());
}
- Hystrix断路容错保护
在启动类上添加@EnableHystrix(fallbackMethod="errorMethod")注解。
在具体的方法上添加@HystrixCommand注解
如请求超时等,调用相应的服务返回结果。
- Zuul网关
配置文件中添加sso-service配置,
在启动类上添加@EnableZullProxy注解。
不仅用于提供对外的服务的入口,还可以在微服务之间通过zuul进行调用, 常用于请求路由、校验、过滤等功能。
- Config配置中心
众多微服务的配置文件可以直接统一管理,放在git上,直接读取,修改后不用重启服务。
- Bus消息总线
微服务之间的异步通信,如微服务A修改用户信息,微服务B需要存在缓存中,不能直接调用微服务B,可以将消息发给消息总线的队列,消息队列来通知微服务B。
-
Sleuth链路跟踪
微服务之间的串联调用,可以跟踪到具体时哪一步出错了。
- Turbine集群监控
原文地址:https://www.cnblogs.com/shuchen007/p/10226324.html
时间: 2024-11-09 06:27:48