一、微服务的服务概括(图文)

image.png

由于现在技术的不断迭代,对于我们程序员来说,有了更大的发挥空间,但是往往需要我们投入大量的时间和经历去慢慢融入新的开发环境中,在微服务中,很多的组件的更新迭代、停更替换的发生,又由于现公司企业很多项目的本身情况,我们既要需要新的组件又要学被停更和替换的组件,我们需要清楚的明白,微服务的生态所需要的各各服务之间的来往,又要明白各各组件之间的作用和用途。

二、各个服务组件的停更替换

image.png

1、服务注册中心

  • Eureka

Eureka是Netflix开源的一款提供服务注册和发现的产品,2018年6月底,Eureka 2.0 开源工作宣告停止,继续使用风险自负。

  • Zookeeper

zookeeper 在 dubbo 中扮演w一个注册中心的角色(当然也可以不选择 zookeeper ),zookeeper 用来注册服务和进行负载均衡。

  • Consul

consul 是一个不错的注册中心和服务发现的服务组件,并同时有配置中心的功能,国内使用较少。go语言开发的,风头都被Nacos抢了(可能以前因为有一段时间禁止中国境内使用的原因)

  • Nacos

Nacos是SpringCloudAlibaba架构中最重要的组件。一个 nacos 可以替换很多微服务组件,如服务租注册发现,服务配置等。是现阶段国内使用最火热的一个

2、负载均衡

  • Ribbon

Spring Cloud Ribbon 是 Netflix Ribbon 实现的一套客户端 负载均衡工具,维护状态,停止更新了。

  • Loadbalancer

Spring Cloud 2020版本以后,默认移除了对Netflix的依赖,其中就包括 Ribbon,官方默认推荐使用Spring Cloud Loadbalancer正式替换Ribbon,并成为了Spring Cloud负载均衡器的唯一实现。在日常项目中,一般负载均衡都是结合Feign使用

3、服务远程调用

  • Feign

Feign是一个声明式Web Service客户端。使用Feign能让编写Web Service客户端更加简单,在Spring Cloud中使用Feign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。

  • OpenFeign

OpenFeign 全称 Spring Cloud OpenFeign,它是 Spring 官方推出的一种声明式服务调用与负载均衡组件,它的出现就是为了替代进入停更维护状态的 Feign,2018年前的项目可能使用的还是 Feign

4、服务监控与保护(服务降级)

  • Hystris

Hystris 对应的中文名字是“豪猪”,豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制。停更

  • Resilience4J

Hystris 停更后,官方推荐使用

  • Sentinel

阿里巴巴 产品,目前国内使用这个的比较多

5、服务网关

  • zuul

zuul 是netflix开源的一个网关服务,公司内部产生分歧,有的人想自己出一个Zuul2。

  • zuul2
    zuul2 也是Netflix 公司准备出的产品,但是由于内部分歧,所以Zuul2已经胎死腹中了。
  • gateway

Spring社区自己出的网关组件,官方隆重介绍和极度推荐的网关服务组件。

6、配置中心

  • springCloud config

springcloud 全家桶,SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供一个中心化的外部配置。

  • nacos

阿里巴巴 系列产品,该服务融合配置中心。后来居上,把Config给替换了。

7、服务总线

  • Bus

SpringCloud原生的服务总线组件,现在风头也被Nacos抢了。

  • Nacos

SpringCloudAlibaba,后来居上,把Bus给替换了。