杭州大的做网站的公司,扬中网络公司,大连网站推广机构,家居行业网站建设由于微服务给系统开发带来了一些问题和挑战#xff0c;如服务调用的复杂性、分布式事务的处理、服务的动态管理等#xff0c;为了更好地解决这些问题和挑战#xff0c;各种微服务治理的组件应运而生#xff0c;充当微服务架构的基石和支撑#xff0c;常用组件如下表#…由于微服务给系统开发带来了一些问题和挑战如服务调用的复杂性、分布式事务的处理、服务的动态管理等为了更好地解决这些问题和挑战各种微服务治理的组件应运而生充当微服务架构的基石和支撑常用组件如下表 接下里对微服务的各个组件和常见实现做一个简单通俗的解释
1.注册中心用于服务的注册与发现管理微服务的地址信息常见的实现包括
(1)Spring Cloud Netflix: Eureka、Consul
(2)Spring Cloud Alibaba: Nacos。
2.配置中心用于集中管理微服务的配置信息可以动态修改配置而不需要重启服务(配置中心不是必须项但是一般标准的微服务架构都用用到)常见的实现包括
(1)Spring Cloud Netflix: Spring Cloud Config
(2)Spring Cloud Alibaba: Nacos Config。
3.远程调用用于在不同的微服务之间进行通信和协作常见的实现保包括
(1)RESTfulAPl如RestTemplate(用的比较少因为需要指定具体的微服务名和IP端口)、Feign
(2)RPC(远程过程调用)如Dubbo、gRPC。
4.API网关作为微服务架构的入口统一暴露服务并提供路由、负载均衡、安全认证等功能。常见的实现包括
(1)Spring Cloud NetflixZuul、Gateway
(2)Spring Cloud AlibabaGateway、Apisix(用的比较少)等。
5.分布式事务保证跨多个微服务的一致性和原子性操作(刚开始的微服务架构中不一定要这用这个组件因为分布式事务通常会多一个服务出来会提升服务器成本所以通常在保证业务不出错的情况下也用不到分布式事务它一般在一致性要求比较的高的架构中需要用到)常见的实现包括
Spring Cloud Alibaba Seata
6.熔断器用于防止微服务之间的故障扩散提高系统的容错能力(在高并发的项目中某一个服务出来问题如果不机制中断比如A服务访问B服务B服务访问C服务如果C服务出问题就可能导致所有的线程都堆积在B服务有可能就会导致B服务不可用从而导致怎么个系统都崩溃也就是常说的服务雪崩)常见的实现包括
(1)Spring Cloud NetflixHystrix
(2)Spring Cloud AlibabaSentinel、Resilience4j(用的比较少)。
7.限流和降级用于防止微服务过载对请求进行限制和降级处理(一般也是高并发项目才会用到降级就是比如A调用BB调用C当C不可用的时候我们需要另一个方案防止系统出错限流就是在高并发请求的情况下来限制洪峰流量在服务器扛不住的情况下作为一种兜底手段)常见的实现包括
(1)Spring Cloud Netflix: Hystrix
(2)Spring Cloud AlibabaSentine。
8.分布式追踪和监控用于跟踪和监控微服务的请求流程和性能指标(业务的请求可能涉及到很多服务组成的一条链路此时需要定位到是哪个服务出现的错误定位就非常难)常见的实现包括
(1)Spring Cloud NetflixSpring Cloud Sleuth Zipkin
(2)Spring Cloud AlibabaSkyWalking、Sentinel Dashboard。