通向微服务的第一关,这几点摸透了少踩坑!

开发 开发工具 前端
对开发团队来说,如果没有搞清楚如何进行服务治理,盲目进行架构调整无异于一场灾难。

[[403625]]

随着业务规模迅速扩大,微服务成为各企业采用的主要架构形式,这给开发团队带来了极大好处:

  • 每个服务足够内聚,代码容易理解、开发效率提高;
  • 服务之间可独立部署,微服务架构让持续部署成为可能;
  • 每个服务可以各自进行负载均衡扩展和数据库扩展,并根据自己的需要部署到合适的硬件服务器上;
  • 独立开发使新技术应用更加灵活。

画外音:高内聚、低耦合,是技术团队努力想要达成的六字真言。

微服务想要真正落地有一定的技术门槛:

  • 一是进行服务拆分,边界在哪儿?怎么取舍?什么样的粒度才符合“高内聚、低耦合”;
  • 二是微服务上了规模之后如何管理?因为只要上了规模,任何小问题都可能会被放大,最后导致雪崩效应。

举个例子,多个相同的微服务可以做负载均衡,提高性能和可靠性,但微服务本身是不会去关心系统负载的,什么时候该启动更多的微服务,多个微服务的流量如何调度和分发,这背后需要有一套复杂的负载监控和均衡的系统发挥作用。

对开发团队来说,如果没有搞清楚如何进行服务治理,盲目进行架构调整无异于一场灾难。画外音:服务治理是通向微服务架构的第一关。

服务治理是一个大话题,包括服务注册发现、请求链路追踪、服务熔断、服务限流、服务管控配置、服务预警等等。

回归实际业务场景:

  • 故障定位非常困难,出了问题,各查各的,非常低效,怎么实现高效定位;
  • 秒杀的时候,所有的监控系统、链路跟踪系统都要是可以降级的,不能因为这些东西导致整个系统崩溃;
  • 超时配多少是合适的?100 ms?300 ms?极端情况有些业务配到 3 秒的,很多程序员并不清楚超时设成多少合适;
  • 你无法无限制的接受请求,不可能 100 个并发就接收 100 个,并发到底怎么配,怎么限流?

画外音:关于服务治理,我最重要的经验是做好保护与自我保护。

对开发人员来说,难点往往在于无法将积累的知识串联起来,形成系统知识结构,只停留在机械应用层面,无法根据业务场景与底层逻辑进行匹配,最终无法形成解决问题和举一反三的能力。

思路往往比过程更重要,掌握了底层逻辑,形成思维模型,工作起来就会有豁然开朗的感觉!

【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

【责任编辑:赵宁宁 TEL:(010)68476606】

 

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2022-02-11 08:57:42

JavaCollection数组

2009-03-05 09:32:44

手机浏览器移动浏览器

2015-04-21 09:03:19

2021-05-07 11:58:05

微服务循环依赖

2018-07-13 09:38:54

2023-04-18 14:39:09

2017-10-24 12:32:03

小程序APPbug

2010-05-11 19:04:56

Unix系统

2019-11-25 14:33:59

HTTPhttpsURI

2023-08-03 07:13:59

2020-09-15 08:53:08

parallelStr表达式函数

2021-01-26 00:46:40

微服务架构微服务应用

2020-04-14 10:06:20

微服务Netflix语言

2021-08-04 10:32:34

人工智能机器学习技术

2022-01-07 11:48:59

RabbitMQGolang 项目

2023-02-20 08:11:04

2019-04-18 14:06:35

MySQL分库分表数据库

2021-06-26 15:31:25

Dubbo应用级服务

2020-09-15 08:46:26

Kubernetes探针服务端

2010-11-24 16:15:09

UI设计Windows Pho
点赞
收藏

51CTO技术栈公众号