通向微服务的第一关,这几点摸透了少踩坑!
2023-03-09 22:08:05 时间
随着业务规模迅速扩大,微服务成为各企业采用的主要架构形式,这给开发团队带来了极大好处:
- 每个服务足够内聚,代码容易理解、开发效率提高;
- 服务之间可独立部署,微服务架构让持续部署成为可能;
- 每个服务可以各自进行负载均衡扩展和数据库扩展,并根据自己的需要部署到合适的硬件服务器上;
- 独立开发使新技术应用更加灵活。
画外音:高内聚、低耦合,是技术团队努力想要达成的六字真言。
微服务想要真正落地有一定的技术门槛:
- 一是进行服务拆分,边界在哪儿?怎么取舍?什么样的粒度才符合“高内聚、低耦合”;
- 二是微服务上了规模之后如何管理?因为只要上了规模,任何小问题都可能会被放大,最后导致雪崩效应。
举个例子,多个相同的微服务可以做负载均衡,提高性能和可靠性,但微服务本身是不会去关心系统负载的,什么时候该启动更多的微服务,多个微服务的流量如何调度和分发,这背后需要有一套复杂的负载监控和均衡的系统发挥作用。
对开发团队来说,如果没有搞清楚如何进行服务治理,盲目进行架构调整无异于一场灾难。画外音:服务治理是通向微服务架构的第一关。
服务治理是一个大话题,包括服务注册发现、请求链路追踪、服务熔断、服务限流、服务管控配置、服务预警等等。
回归实际业务场景:
- 故障定位非常困难,出了问题,各查各的,非常低效,怎么实现高效定位;
- 秒杀的时候,所有的监控系统、链路跟踪系统都要是可以降级的,不能因为这些东西导致整个系统崩溃;
- 超时配多少是合适的?100 ms?300 ms?极端情况有些业务配到 3 秒的,很多程序员并不清楚超时设成多少合适;
- 你无法无限制的接受请求,不可能 100 个并发就接收 100 个,并发到底怎么配,怎么限流?
画外音:关于服务治理,我最重要的经验是做好保护与自我保护。
对开发人员来说,难点往往在于无法将积累的知识串联起来,形成系统知识结构,只停留在机械应用层面,无法根据业务场景与底层逻辑进行匹配,最终无法形成解决问题和举一反三的能力。
思路往往比过程更重要,掌握了底层逻辑,形成思维模型,工作起来就会有豁然开朗的感觉!
【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】
【责任编辑:赵宁宁 TEL:(010)68476606】
相关文章
- 大数据为何这么重要?
- 挨踢部落坐诊第十一期:三千万数据如何做到秒查
- 得益于AI,这五个行业岗位需求将呈现显著增长趋势
- 海量数据流的最佳算法实战
- Go语言如何实现遗传算法
- 分析非结构化数据的10个步骤
- 蠕虫病毒疯狂肆虐 数据中心当如何防范?
- 数据结构与算法–图论之寻找连通分量、强连通分量
- 如何分析博客中最流行的编程语言
- 可视化学习 Go并发编程
- 大数据时代,软件工程师渐退,算法工程师崛起!
- 数据缺失的坑,无监督学习这样帮你补了
- 大数据、人工智能、机器人的血缘关系?
- 如何在 Linux 平台下看蓝光影碟
- 年关将至,服务器被入侵了怎么办?
- 红帽企业版 Linux 6.4 试用体验
- Linux应用总结:自动删除n天前日志
- Linux升级时不升级内核的配置说明
- 从0到1构建大数据生态系列1:数据蛮荒中的拓荒之举
- 分布式TCP压力测试工具 tcpcopy