注册中心选型

素颜马尾好姑娘i 2022-12-25 03:52 207阅读 0赞

一、什么是微服务

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

二、微服务的特点

  • 复杂度可控

    每一个微服务专注于单一功能

  • 简化部署

    在一个单块系统中,只要修改了一行代码,就需要对整个系统进行重新的构建、测试,然后将整个系统进行部署。而微服务则可以对一个微服务进行部署。

  • 灵活组合

    在微服务架构中,可以通过组合已有的微服务以达到功能重用的目的。

  • 技术选型灵活

    技术选型是去中心化的,在一个大型系统中,不同的功能具有不同的特点,并且不同的团队可能具备不同的技术能力。因为微服务间松耦合,不同的微服务可以选择不同的技术栈进行开发。

  • 容错

    故障会被隔离在单个服务中

  • 扩展

    每个服务可以根据实际需求独立进行扩展

三、注册中心的选型










































































































Nacos

Eureka

Consul

Zookeeper

Nacos

Eureka

Consul

Zookeeper

一致性协议 CP+AP AP CP CP
健康检查 TCP/HTTP/MYSQL/Client Beat Client Beat TCP/HTTP/gRPC/Cmd Keep Alive
负载均衡策略/权重 metadata/Selector Ribbon Fabio
雪崩保护
自动注销实例 支持 支持 不支持 支持
访问协议 HTTP/DNS HTTP HTTP/DNS TCP
监听支持 支持 支持 支持 支持
多数据中心 支持 支持 支持 不支持
跨注册中心同步 支持 不支持 支持 不支持
SpringCloud集成 支持 支持 支持 不支持
Dubbo集成 支持 不支持 不支持 支持
K8S集成 支持 不支持 支持 不支持

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

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

四、服务与服务之间调用

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

参考文献:

  • 从 0 开始的微服务架构:重识微服务架构
  • 微服务的4个设计原则和19个解决方案
  • RESTful API 编写指南``

发表评论

表情:
评论列表 (有 0 条评论,207人围观)

还没有评论,来说两句吧...

相关阅读

    相关 你知道注册中心如何吗?

    注册中心通常指的是一个用于管理和协调微服务架构中各个微服务实例的服务。它负责维护服务实例的注册和发现,以确保服务之间能够相互通信。注册中心通常包括服务注册、服务发现、健康...

    相关 注册中心

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

    相关 配置中心调研

    背景 为了方便应用程序配置文件的管理,决定使用市面上流行的配置中心作为实现方案,由于配置中心的备选方案很多,我们需要结合目前项目的实际情况来进行技术选型 目前市面上流