随着业务规模迅速扩大,微服务成为各企业采用的主要架构形式,这给开发团队带来了极大好处:
画外音:高内聚、低耦合,是技术团队努力想要达成的六字真言。
微服务想要真正落地有一定的技术门槛:
举个例子,多个相同的微服务可以做负载均衡,提高性能和可靠性,但微服务本身是不会去关心系统负载的,什么时候该启动更多的微服务,多个微服务的流量如何调度和分发,这背后需要有一套复杂的负载监控和均衡的系统发挥作用。
对开发团队来说,如果没有搞清楚如何进行服务治理,盲目进行架构调整无异于一场灾难。画外音:服务治理是通向微服务架构的第一关。
服务治理是一个大话题,包括服务注册发现、请求链路追踪、服务熔断、服务限流、服务管控配置、服务预警等等。
回归实际业务场景:
故障定位非常困难,出了问题,各查各的,非常低效,怎么实现高效定位;
秒杀的时候,所有的监控系统、链路跟踪系统都要是可以降级的,不能因为这些东西导致整个系统崩溃;
超时配多少是合适的?100 ms?300 ms?极端情况有些业务配到 3 秒的,很多程序员并不清楚超时设成多少合适;
你无法无限制的接受请求,不可能 100 个并发就接收 100 个,并发到底怎么配,怎么限流?
画外音:关于服务治理,我最重要的经验是做好保护与自我保护。
对开发人员来说,难点往往在于无法将积累的知识串联起来,形成系统知识结构,只停留在机械应用层面,无法根据业务场景与底层逻辑进行匹配,最终无法形成解决问题和举一反三的能力。
思路往往比过程更重要,掌握了底层逻辑,形成思维模型,工作起来就会有豁然开朗的感觉!