当前位置:网站首页>关于服务治理
关于服务治理
2022-08-09 22:30:00 【51CTO】
服务治理对于微服务架构应用来说非常重要。一方面,微服务架构中各微服务实例的一个重要能力就是可以快速上线或下线,从而让服务可以快速进行水平扩展,并保证服务的可用性。那么此时服务消费者如何快速地与这些不断上线或下线的服务保持正常通信就是首要解决的问题,而服务治理正好帮助我们解决了这个问题。
服务治理通过抽象将服务消费者和服务提供者进行隔离。消费者不需要知道具体服务提供者的真实物理地址就可以进行调用,也无须知道具体有多少个服务者可用;而服务提供者只需要将自己注册到服务治理服务器中就可以对外提供服务,也不需要知道具体是哪些服务调用了自己。另一方面,服务治理能够为微服务架构提升应用弹性,当其中的一个服务提供者实例不可用或者出现问题时,服务治理服务器可以发现这个有问题的服务实例,在调度服务消费者时可以绕开有问题的服务实例,从而将对应用的影响降低到最低。
基于云的服务治理具有以下优点。
- 更高的可用性:服务治理可以支持动态的服务实例集群环境,任何服务实例可以随时上线或下线。服务消费者只需要知道服务名称就可以调用相应的服务,而不需要具体的物理地址。服务提供者的实例信息由服务治理服务器进行统一管理,当一个服务实例不可用时,治理服务器可以将请求转给其他服务提供者,当一个新的服务实例上线时,也能够快速地分担服务调用请求。
- 负载均衡:服务治理可以提供动态的负载均衡功能,可以将所有请求动态地分布到其所管理的所有服务实例中进行处理。
- 提升应用的弹性:服务治理的客户端会定时从服务治理服务器中复制一份服务实例信息缓存到本地中,这样即使当服务治理服务器不可用时,服务消费者也可以使用本地的缓存去访问相应的服务,而不至于中断服务。通过这种机制,极大地提高了应用的弹性。
- 高可用性集群:可以构建服务治理集群,通过互相注册机制,将每个治理服务器所管辖的服务信息列表进行交换,使服务治理服务拥有更高的可用性。
Eureak是Netflix开源微服务框架中一系列项目中的一个。Spring Cloud对其进行了二次封装,形成了Spring Cloud Netflix子项目,但未对Netflix微服务实现原理进行更改,只是进行了Spring Boot化,使开发者更容易使用和整合。
在Eureka解决方案中,对于服务治理有如下3个概念。
- 服务治理服务器(Eureka服务器):服务注册中心,负责服务列表的注册、维护和查询等功能,也就是Eureka服务器。
- 服务注册代理(服务提供者):如果一个微服务是一个服务提供者,那么可以通过服务注册代理将服务配置信息注册到治理服务器上。服务注册代理可以理解为一个Eureka客户端,负责将微服务所提供的服务向Eureka服务器执行注册、续约和注销等操作,以使服务消费者可以发现并进行消费。在服务注册时需要向服务治理服务器提供服务名称、宿主服务器IP地址、服务端口号、域名等主要数据。
- 服务发现客户端(服务消费者):也是一个Eureka客户端。它在启动时会默认从所服务治理服务器中获取所有的服务注册表信息,通过所获取到的服务注册列表信息来消费相应的服务。
通过上述抽象的服务概念,就可以让各个微服务之间进行通信。因为这种机制就像网络应用中的DNS服务,通过给一个服务器定义一个名称,就可以在不知道该服务器具体IP地址的情况下进行访问。平常我们所说的服务提供者和服务消费者并不是一个严谨的说法。往往一个服务消费者也是一个服务提供者,同时服务提供者也可能会调用其他微服务所提供的服务。当然,在进行微服务构建时还需要遵守业务层级之间的划分,尽量避免微服务之间的循环依赖。
边栏推荐
- 深入理解多线程(第一篇)
- matplotlib散点图颜色分组图例
- 金仓数据库 KingbaseGIS 使用手册(6.5. 几何对象编辑函数)
- 都在说云原生,那云原生到底是什么?
- 【实用工具系列】MathCAD入门安装及快速上手使用教程
- HUAWEI CLOUD escorts the whole process of "Wandering Ark" for the first time, creating a popular brand
- tiup cluster start
- 伦敦银行情中短线的支撑和阻力位
- LiveData : Transformations.map and Transformations.switchMap usage
- Gartner全球集成系统市场数据追踪,超融合市场增速第一
猜你喜欢
带着昇腾去旅行:一日看尽金陵城里的AI胜景
什么是平面文件数据库? 如何导入多种格式的文件:DSV、JSON、XML?
shell array
三:OpenCV图片颜色通道数据转换
2022-08-09 mysql/stonedb-subquery performance improvement-introduction
Live Preview | ICML 2022 11 first-author scholars share online neural network, graph learning and other cutting-edge research
了解什么是架构基本概念和架构本质
The latest "Grain Academy Development Tutorial" in 2022: 10 - Front-end payment module
A summary of 6 common tools for cross-border e-commerce
数字与中文大写数字互转(5千万亿亿亿亿以上的数字也支持转换)
随机推荐
YGG 经理人杯总决赛已圆满结束,来看看这份文字版总结!
Leetcode 701. 二叉搜索树中的插入操作
How to know the computer boot record?
Mysql/stonedb - slow SQL - 2022-08-09 Q16 analysis
[JZOF] 82 binary tree with a path of a certain value (1)
Leetcode 98. 验证二叉搜索树
多线程是同时执行多个线程的吗
力扣:474.一和零
2022-08-09 mysql/stonedb-慢SQL-Q16分析
Miscellaneous talk - the sorrow of programmers
HUAWEI CLOUD escorts the whole process of "Wandering Ark" for the first time, creating a popular brand
如何知道电脑开机记录?
34. Fabric2.2 证书目录里各文件作用
Sqlserver restricts the ip under which accounts can access the database
测试2年,当时身边一起入行的朋友已经月薪20k了,自己还没过万,到底差在了哪里?
数据库优化 | 干货
【云原生】一文讲透Kubevela addon如何添加腾讯Crane
【Burning】It's time to show your true strength!Understand the technical highlights of the 2022 Huawei Developer Competition in one article
安踏携手华为运动健康共同验证冠军跑鞋 创新引领中国体育
一体化伺服电机在三轴钻孔机中的应用