当前位置:网站首页>Nacos - 服务发现
Nacos - 服务发现
2022-07-01 08:33:00 【SXHENIGA】
一、单体架构和微服务
1、单体架构
将所有功能模块使用同一个数据库,同时,它还提供API或者UI访问的Web模块等,最终会打包并部署为单体式应用,这种将所有功能都部署在一个Web容器中运行的系统叫做单体架构
| 优点 | |
| 1 | 开发效率高 |
| 2 | 容易测试 |
| 3 | 容易部署 |
| 缺点 | |
| 1 | 复杂性逐渐变高,可维护性巨剑变差 |
| 2 | 版本跌倒速度逐渐变慢 |
| 3 | 阻碍技术创新 |
| 4 | 无法按需伸缩 |
2、微服务
每一个业务模块都使用独立的服务完成,这种微服务架构模式也影响了应用和数据库之间的关系,不像传统多个业务模块共享一个数据库,微服务架构每个服务都有自己的数据库。
| 好处 | |
| 1 | 分而治之,职责单一;易于开发、理解和维护、方便团队的拆分和管理; |
| 2 | 可伸缩;能够单独的对指定的服务进行伸缩; |
| 3 | 局部所以修改,容易替换,容易部署,有利于持续集成和快速迭代 |
| 4 | 不会受限于任何技术栈 |
二、服务发现
在微服务中,各服务之间协作来实现业务目标。微服务中也需要进行服务间的远程调用,那么就需要知道服务的网络位置【IP和端口号】,那么就要实现以下内容。
①、在每个服务启动时需要向服务发现中心上报自己的网络位置。
②、服务发现客户端会定期从服务发现中心同步服务注册表,并缓存在客户端
③、当需要对某服务进行请求时,服务实例通过该注册表,定位目标服务网络地址。若目标服务存在多个网络地址,则使用负载均衡算法从多个服务实例中选择出一个,然后发出请求。
总结:微服务中,由于服务运行实例的网络地址是不断变化的,服务实例数量的动态变化,因此无法使用固定的配置文件来记录提供方的网络地址,必须使用动态的服务发现机制用于实现微服务之间的相互感知。各服务实例会上报自己的网络地址,这样服务中心就形成了一个完整的服务注册表,各服务实例会通过服务发现中心来获取访问目标服务的网络地址,从而实现服务发现的机制。

三、主流服务发现与配置中心对比
| 对比项目 | Nacos | Eureka | Consul | Zookeeper |
| 一致性协议 | 支持AP和CP模型 | AP模型 | CP模型 | CP模型 |
| 健康检查 | TCP/HTTP/MYSQL/Client Beat | Client Beat | TCP/HTTP/gRPC/Cmd | Keep Alive |
| 负载均衡策略 | 权重/metadata/Selector | Ribbon | Fabil | - |
| 雪崩保护 | 有 | 有 | 无 | 无 |
| 自动注销实例 | 支持 | 支持 | 不支持 | 支持 |
| 访问协议 | HTTP/DNS | HTTP | HTTP/DNS | TCP |
| 监听支持 | 支持 | 支持 | 支持 | 支持 |
| 多数据中心 | 支持 | 支持 | 支持 | 不支持 |
| 跨注册中心同步 | 支持 | 不支持 | 支持 | 不支持 |
| SpringCloud集成 | 支持 | 支持 | 支持 | 不支持 |
| Dubbo集成 | 支持 | 不支持 | 不支持 | 支持 |
| k8s集成 | 支持 | 不支持 | 支持 | 不支持 |
四、Spring Cloud服务协作流程

边栏推荐
- leetcode T31:下一排列
- How to use OKR as the leadership framework of marketing department
- [detailed explanation of Huawei machine test] judgment string subsequence [2022 Q1 Q2 | 200 points]
- 2022 ordinary scaffolder (special type of construction work) examination question bank and the latest analysis of ordinary scaffolder (special type of construction work)
- Advanced level of C language pointer (Part 1)
- 《微机原理》——微处理器内部及外部结构
- Leetcode T39: 组合总和
- The use of word in graduation thesis
- SPL-安装与基本使用(二)
- SPL installation and basic use (II)
猜你喜欢
随机推荐
Introduction to 18mnmo4-5 steel plate executive standard and delivery status of 18mnmo4-5 steel plate, European standard steel plate 18mnmo4-5 fixed rolling
毕业论文中word的使用1-代码域标公式
【面试必刷101】链表
Codeworks round 803 (Div. 2) VP supplement
Intelligent water supply system solution
华为机试真题专栏订阅指引
Mavros sends a custom topic message to Px4
機動目標跟踪——當前統計模型(CS模型)擴展卡爾曼濾波/無迹卡爾曼濾波 matlab實現
2022 Chinese cook (technician) simulation test and Chinese cook (technician) practice test video
Redis publish subscription
Leetcode t31: prochain arrangement
What is 1cr0.5mo (H) material? 1cr0.5mo (H) tensile yield strength
Glitch Free时钟切换技术
嵌入式工程师面试-常问问题集
《MATLAB 神经网络43个案例分析》:第30章 基于随机森林思想的组合分类器设计——乳腺癌诊断
Share 7 books I read in the first half of 2022
How to use OKR as the leadership framework of marketing department
DID的使用指南,原理
Leetcode T29: 两数相除
MATLAB小技巧(16)矩阵特征向量特征值求解一致性验证--层次分析
![Thread safety analysis of [concurrent programming JUC] variables](/img/f9/a3604bec6f7e5317dd2c578da73018.jpg)








