关于服务治理的一点理解

为什么需要服务治理

服务治理是随着微服务一起出现的。在远古时代的单体服务,所有业务部署在一个进程,共享相同的资源,包括机器、网络等资源。所以业务之间通信或者交互简单。但是微服务中的每个服务都有自己独立的资源,服务之间交互就变得复杂多了。服务独立了,问题也随之而来。怎么知道其他服务在哪(服务发现),能不能提供服务(注册中心或者服务探活),资源如何调度(资源调度)、服务如何通信(流量治理)等等问题如何解决,服务治理应运而生。

如何做服务治理

基础

我们在日常中想要管理或者解决一些人或者事情,需要尽可能地了解对方,才能进行。所以想要服务治理,我们也要了解服务。但是需要了解哪些方面呢?

指标

我们可以通过指标来了解服务状态。指标可以分为两种:基础指标和业务指标。

基础指标

基础指标主要是一些通用的指标。下面是一些常见的基础指标:
• 机器指标(cpu、内存、网络)
• jvm metric
• pod metric
• 基础组件指标(db metric、redis metric等)

业务指标

业务指标是指和业务相关的指标。这些指标反映了业务的状态。比如业务处理延迟、速度等。

资源

我们在管理服务时需要知道服务需要哪些资源,需要多少。这样我们才能给服务分配资源。资源调度的前提是:我们知道还剩多少资源。所以我们需要基础指标。只有基础指标健全,我们才能获得剩余资源的信息,才能进行资源调度。目前资源调度一般都是用k8s来管理。

依赖

服务正常运行需要其依赖的服务正常运行。所以我们需要知道服务的依赖关系,调用链情况。通过调用链我们可以知道依赖关系,业务瓶颈在哪,哪些业务是关键业务,需要扩缩容。
常见的调用链中间:jeager、skywalking、zipkin。在选型时,优先考虑业务入侵小的方案,例如Java 字节码技术。

基础设施

随着服务数量的增加,管理的难度也随之剧增。所以我们需要搭建基础设施来辅助管理。

k8s

k8s 是目前最火的服务编排系统,我们也就在赘述了。

配置中心

配置中心是为服务提供配置的,我们可以通过配置中心对服务进行管理,比如业务使用哪套算法模型,业务出现线程数量等。常见的配置中心有:zookeeper、consul、Nacos、apollo、spring cloud config。
zookeeper和consul 只具有简单的配置中心功能,相当于nosql db。在服务体量不大,服务治理场景简单的时候可以使用。但是对于复杂或者高级的服务治理场景还是捉襟见肘。比如灰度发布。
Nacos、apollo、spring cloud config 提供了配置中心高级功能:配置推送,配置刷新,配置隔离等。有如下场景的时优先从三者中选择:
• 多环境(开发、测试、线上)
• 多租户
• 灰度发布
• 资源隔离

注册中心

注册中心的本质是服务探活。注册中心会对外提供可用服务地址查询。比如gprc 可以使用注册中心查询存活实例,然后做负载均衡。在spring cloud 中的feign的负载均衡也都是基于注册中心。

自动化

服务治理的最终目标就是实现自动化。但是自动化是建立在前面两项之上的,拥有必要的数据我们才能自动化。

流量治理

流量治理有两种主要场景:激增大流量和灰度发布。激增大流量可以通过自动扩缩容解决,我们后面在说。

灰度发布

不同版本配置不同:这个问题需要使用配置中心解决。
不同版本流量不同:service mesh 可以解决这个问题。

自动扩缩容

要实现自动扩缩容,我们就需要知道哪些服务需要扩缩容。我们需要定义一系列指标,用于衡量服务。
负载负载情况:我们可以监控pod cpu 情况;api 调用时长P99情况;api 调用频率情况。
流量情况:api 调用数量;网络情况。
通过各种指标我们可以知道服务状态,从而我们可以指定扩缩容规则。

上面提到的每项技术都能展开讲很久,之后的文章我们在详细聊聊。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容