理解服务治理

服务治理关注于建立和执行服务间的协作指南,而非单纯的管理。随着业务发展,从单体服务演进到分布式服务,服务治理应运而生,解决服务注册、发现、负载均衡等问题。Dubbo作为服务治理工具,利用Zookeeper实现服务注册与发现,确保服务的高可用性和质量。Zookeeper的树形结构和内存操作使其成为高效的服务注册中心。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么不是服务管理,而是服务治理?

治理意味着建立和执行工作组为了一起工作而一致同意的工作指南。

治理重在建立决策,而管理重在贯彻执行决策。

 

怎么理解服务治理?

服务治理发展过程:开始是单体服务,随着业务和访问量增大,架构发生变化,垂直划分,达到解耦和的目的。但是随着应用的进一步增加,也就是引入SOA,出现了服务相互调用的情况,这个时候可以使用简单的RMI或RPC,通过配置服务的URL地址进行调用。嗯还不错。

但是业务进一步增加,配置URL对于地址的管理变得复杂,很乱,不好梳理。这时,迫切需要一个注册中心,动态的注册和发现服务,URL地址神马的都不用我来管了。消费者,只需要获取提供者的地址列表,就可以实现软负载均衡和failover。

Dubbo架构路线图

这就是服务治理概念出现的背景。

服务治理是主要针对分布式服务框架,微服务,处理服务调用之间的关系,服务发布和发现(谁是提供者,谁是消费者,要注册到哪里),出了故障谁调用谁,服务的参数都有哪些约束(尤其是dubbo.xml配置),如何保证服务的质量?如何服务降级和熔断?怎么让服务受到监控,提高机器的利用率?

服务治理的工具还有哪些?

Dubbo:主要介绍

Spring Cloud Eureka:暂不介绍

Dubbo是什么?

一想Dubbo是什么,首先想到的就是Dubbo的架构图,包括注册中心、提供者、消费者、监控中心,然后就是他们之间的关系。

Dubbo架构图

通过web容器将服务提供者启动,将服务注册到zookeeper上;

服务消费者在启动后也会把自己注册到zookeeper上;

如果注册中心检测到提供者有什么变化,会通知消费者;

消费者从注册中心获取到的提供者地址列表,采用软负载均衡算法,选择一个提供者调用,这样做的好处是,一个提供者调用失败,就可以选择另外一个;

服务提供者和消费者,在内存中累计调用次数和调用时间,会以心跳的方式,发送给监控中心;

zookeeper是什么?

ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。

为什么选择zookeeper作为dubbo的注册中心?

因为zookeeper是树形结构,里面都是一个个的ZNode组成,而且是运行在内存中的,性能会非常高

一般在线上都会搭建一各zookeeper集群,保证高可用的同时,就是能够稳定提供发布订阅功能。

总结:系统开始由单体系统到编程面向服务(SOA)成为分布式系统之后,为了让服务调用更清晰,不需要人员再写URL,并且费劲儿的梳理,使用Dubbo+zk这样的服务治理工具是非常必要的。了解它内部都有什么,有助于以后出现问题有排查思路。

里面都是个人理解Dubbo,更官方的说法,去看官网

参考摘自:https://javatar.iteye.com/blog/517767

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值