1、WHAT 什么是服务治理?
首先要明白什么是治理?治理:整治、统治、管理。
服务治理(SOA governance),按照Anne Thomas Manes的定义是:企业为了确保事情顺利完成而实施的过程,包括最佳实践、架构原则、治理规程、规律以及其他决定性的因素。服务治理指的是用来管理SOA的采用和实现的过程。对,我知道,你看这种学术描述的时候跟我一样懵逼。SOA =Service-Oriented Architecture,面向服务的架构。所以通俗意义上说,就是治理面向服务的架构。面向服务的架构有哪些呢,包括两个方面:单体服务架构和微服务架构。单体服务架构,可以理解为JSP+servlet+一个数据库。
单体服务(monolithic)
如果服务属于单体结构,服务治理的挑战更多是当单体架构由于承载的业务庞大,服务内部逻辑变得复杂,扩展性也变差。这时候往往不需要特别的服务治理手段,而是将单体服务拆分为微服务,即完成”微服务化“,将原有单体服务架构向微服务架构演进。
微服务(microservices)
业务服务演进到微服务架构后,服务治理问题是否就此终结?远远没有。在微服务架构下,出现了新的服务问题,从而需要对微服务进行服务治理。那微服务又有哪些问题需要治理?
2、WHY 为什么要进行服务治理?
答案很简单。因为不治理就会出问题。就比如我们国家有56个民族,不治理的话,各个民族语言、文字、货币、风俗习惯、文化等如何交流 ?回归到服务上说,针对每种不同业务的服务越来越多,如何保证各种服务统一有序的成为整个系统的一部分,服务治理迫在眉睫。
3、HOW 怎么治理?
这是服务治理中的重点部分。大型互联网公司有的自研、有的借用开源的、有的借用别家的,现存世上有以下几种服务治理框架:
Dubbo、HSF、JSF、Tars、Motan和RestCloud,问spring cloud是不是一种服务治理框架,如果按照服务治理的各个方面来说,spring 家族是迄今为止最好用且用途最广的服务治理框架。
服务治理包括很多方面,
- 服务的注册和发现
- 软负载均衡与容错
-
服务监控与统计
-
服务权限控制、服务的自动注册、客户端的自动发现
-
服务调用链跟踪
-
服务降级
-
服务负载均衡调整
名称 | 所属公司 | 是否开源 | 资料文档 | 备注 |
---|---|---|---|---|
spring cloud | Pivotal | 是 | 多 | 用的多、用的广 |
Dubbo | 阿里巴巴 | 是 | 多 | |
HSF | 阿里巴巴 | 否 | 中 | 目前已作为阿里云产品EDAS其中的套件开放使用 |
Tars | 腾讯 | 是 | 中 | 已作为腾讯云应用框架对外提供使用 |
JSF | 京东 | 否 | 少 | |
Motan | 新浪微博 | 是 | 中 | |
istio | 谷歌、ibm | 是 | 少 | |
Linkerd | CNCF | 是 | 少 |
4、WHEN 何时治理。
服务的整个生命周期中。
参考链接:
到底什么是服务治理 https://www.zhihu.com/question/56125281/answer/1099439237
浅谈服务的治理 https://blog.csdn.net/enweitech/article/details/83269497