微服务架构 | 3. 注册中心与服务发现

2022-01-14  本文已影响0人  多氯环己烷

前言

参考资料
《Spring Microservices in Action》
《Spring Cloud Alibaba 微服务原理与实战》
《B站 尚硅谷 SpringCloud 框架开发教程 周阳》

注册中心用来集中管理微服务,实现服务的注册,发现,检查等功能;


1. 服务发现基础知识

1.1 注册中心与服务发现的联系

1.2 使用 DNS 与负载均衡器发现服务的弊端

基于 DNS 与负载均衡的传统服务发现模型.png

1.3 云中的服务发现应该具备的特点

1.4 服务发现架构

客户端负载均衡.png

1.5 服务治理的概念

1.6 服务注册的概念

1.7 RPC 远程调用框架核心设计思想

1.8 Eureka 与 Dubbo 的系统架构对比图

Eureka 与 Dubbo 的系统架构对比图

1.9 注册中心的 CAP 理论

1.10 AP 架构和 CP 架构

1.10 目前几种流行的注册中心对比

名称 厂商 CAP 模型 控制台管理 对外暴露接口 社区活跃度
Eureka Netflix AP 支持 HTTP 低(2.x 版本闭源)
Nacos Alibaba AP+CP 可切换 支持 HTTP/DNS/UDP
Zookeeper Apache CP 不支持 TCP 客户端
Consul HashiCorp CP 支持 HTTP/DNS
比较项 Eureka Nacos Zookeeper Consul CoreDNS
健康检查 Client Beat TCP/HTTP/MySQL/Client Beat Client Beat TCP/HTTP/gRPC/CMD /
负载均衡 Ribbon 权重/DSL/metadata/CMDB / Fabio RR
雪崩保护 支持 支持 / / /
自动注销实例 支持 支持 支持 / /
监听支持 支持 支持 支持 支持 /
多数据中心 支持 支持 / 支持 /
跨注册中心 / 支持 / 支持 /
Spring Colud 集成 支持 支持 支持 支持 /
Dubbo 集成 / 支持 支持 支持 /
kubernates 集成 / 支持 / 支持 支持
Nacos 服务发现实例模型.png

2. Eureka

Eureka 是 Netflix 开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在 AWS 域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的;
Spring Cloud 将它集成在其子项目 spring-cloud-netflix 中,以实现 Spring Cloud 的服务发现功能;

3. Nacos

Nacos 致力于解决微服务中的统一配置、服务注册与发现等问题。它提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理;

4. Zookeeper

ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 Hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等;

5. Consul

Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。它提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之 Consul 提供了一种完整的服务网格解决方案;


最后

\color{blue}{\rm\small{新人制作,如有错误,欢迎指出,感激不尽!}}

\color{blue}{\rm\small{欢迎关注我,并与我交流!}}

\color{blue}{\rm\small{如需转载,请标注出处!}}

上一篇 下一篇

猜你喜欢

热点阅读