
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
微服务架构开发是目前大多数软件开发程序员都在学习的一种架构方式,今天我们就通过案例分享来了解一下,微服务架构拆分都有哪些常见问题。
一、微服务迁移准备
1、需对业务充分了解,这是服务拆分,通信设计,资源整合的必要前提。
2、适应微服务架构设计原则:小版本,高速迭代。
3、快速的环境提供能力:依赖于云计算、容器技术,快速交付环境。
4、服务合理拆分:需符合团队结构或能逆向影响,能对组织架构进行微调并划分职责。(康威定律和逆康威定律)
5、基本的监控能力:包括基础的技术监控和业务监控。
6、快速的应用部署能力:需要部署管道提供快速的部署能力。
7、DevOps自动化运维能力:需要具有良好的持续集成和持续交付能力,还需要对问题、故障的快速响应能力,开发、测试和运维能协同工作。
二、基于可扩展拆分
这个需要区分系统中变与不变的部分,不变的部分一般是成熟的、通用的服务功能,变的部分一般是改动比较多、满足业务迭代扩展性需要的功能,我们可以将不变的部分拆分出来,作为共用的服务,将变的部分独立出来满足个性化扩展需要。
同时根据二八原则,系统中经常变动的部分大约只占20%,而剩下的80%基本不变或极少变化,这样的拆分也解决了发布频率过多而影响成熟服务稳定性的问题。
三、异常容错
为主链路建立层次化的降级策略(多级降级),以及合理的熔断策略,这部分我们将在Hystrix服务容错降级的文章中详细解释。
四、计算资源分配
主链路通常来讲都是高频场景,自然需要更多的计算资源,主要的体现就是集群里分配的虚机数量多。比如电商场景中特惠专场抢购等。
但是无论是虚机的分配,还是kubernetes的动态扩缩容,应该都需要单独优待,如资源分配倾斜,独立治理等。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。