当前位置:   article > 正文

注册中心选型

注册中心选型

一、什么是微服务

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。

二、微服务的特点

  • 复杂度可控
每一个微服务专注于单一功能
  • 简化部署
在一个单块系统中,只要修改了一行代码,就需要对整个系统进行重新的构建、测试,然后将整个系统进行部署。而微服务则可以对一个微服务进行部署。
  • 灵活组合
在微服务架构中,可以通过组合已有的微服务以达到功能重用的目的。
  • 技术选型灵活
技术选型是去中心化的,在一个大型系统中,不同的功能具有不同的特点,并且不同的团队可能具备不同的技术能力。因为微服务间松耦合,不同的微服务可以选择不同的技术栈进行开发。
  • 容错
故障会被隔离在单个服务中
  • 扩展
每个服务可以根据实际需求独立进行扩展

三、注册中心的选型

*

Nacos

Eureka

Consul

Zookeeper

*

Nacos

Eureka

Consul

Zookeeper

一致性协议CP+APAPCPCP
健康检查TCP/HTTP/MYSQL/Client BeatClient BeatTCP/HTTP/gRPC/CmdKeep Alive
负载均衡策略/权重metadata/SelectorRibbonFabio
雪崩保护
自动注销实例支持支持不支持支持
访问协议HTTP/DNSHTTPHTTP/DNSTCP
监听支持支持支持支持支持
多数据中心支持支持支持不支持
跨注册中心同步支持不支持支持不支持
SpringCloud集成支持支持支持不支持
Dubbo集成支持不支持不支持支持
K8S集成支持不支持支持不支持

nacos介绍 :https://nacos.io/zh-cn/docs/what-is-nacos.html

注意: Eureka 1.X目前停止维护

四、服务与服务之间调用

  1. 服务间调用,如果使用cloud的eureka作为注册中心,那么可以使用fegin,否则弃用
  2. feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,通常我们在进行远程调用的时候,如果是通过http,那么我们可以使用spring提供的httptemplate,然后自己组装参数这些,比较麻烦和复杂,而使用fegin时我们可以
  3. 只写一个interface,然后就像调用本地方法一下,使用接口方法,由fegin去帮助我们转换和发起http请求。大大简化开发的复杂度。
  4. fegin底层自动集成了eureka(注册中心,强制使用),ribbon(客户端负载均衡,默认就是轮询,可以配置),hystrix(熔断器,可以不用),ribbon和hystrix我们都可以预留,后期如果需要的时候,可以直接启用就行了。(谢金润提供)

参考文献:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/975055
推荐阅读
相关标签
  

闽ICP备14008679号