微服务架构的常见问题
- 这么多小服务,如何管理他们?(服务治理 注册中心【服务注册,发现,删除】 nacos
- 他们之间怎么通讯?以前,httclient(“url”,参数),springBoot restTemplate(“url”,参数),现在,(restful rpc dubbo feign)
- 客户端怎么访问他们?(网关)gateway
- 一旦出现问题,怎么自处理?服务熔断,比如服务雪崩, sentinel
- 一旦出现问题,怎么排错? (链路终端)skywalking实现
1.什么是Nacos
官网:一个更利于构建云原生应用的动态服务发现(Nacos Discovery)、服务配置(Nacos Config)和服务管理平台。
集注册中心+配置中心+服务管理平台
关键特性包括:
- 服务发现和服务健康监测
- 动态配置服务
- 动态DNS服务
- 服务及其元数据管理
核心功能
Nacos Discoery
-
服务注册:系统一启动,Nacos Client会发送rest请求向Nacos Server注册自己的服务,提供自身的元数据,如ip,端口号等信息。
-
服务心跳:在服务注册之后,Nacos Client会维护一个定时心跳来通知Nacos Server,说明自己一直处于可用状态,防止被删除,默认5s发送一次。
-
服务同步:Nacos Server集群之间会互相同步服务实例,用来保证服务信息的一致性。
-
服务发现:Nacos Client发送一个Rest请求向Nacos Server获取服务清单,并缓存到本地,后面会定时获取
-
服务健康检查:Nacos Server会开一个定时任务来检查注册服务清单的健康情况,如果超过15s没有收到客户端的心跳,则会将healthy属性设置为false(服务发现不能获取),如果超过30s,直接删除该实例(重新服务心跳才会重新注册)。
微服务架构带来了服务管理的挑战,包括服务注册与发现、健康检查、通讯方式(如RESTful、RPC、Dubbo、Feign)以及服务自处理(如熔断策略,如Sentinel防止服务雪崩)。Nacos作为服务治理平台,提供服务注册、发现、配置管理和健康监测等功能,确保服务的高可用性和一致性。服务通过网关(如Gateway)进行客户端访问,并依赖链路追踪工具(如Skywalking)进行故障排查。
3413

被折叠的 条评论
为什么被折叠?



