云卷云舒:微服务的构建与拆分方法

构建云原生应用的关键因素就是实现系统模块解耦,为云原生的弹性提供前提。

一、微服务的发展历程

微服务发展的历程就是一个切实降本增效的过程,是勇敢实践的一步。

1、遵循单体-服务化-微服务-二代微服务的演变步骤

2、业务模块以API形式提供服务,实现解耦

3、多模块并行开发,提升功能交付效率

4、可用性提升,扩展灵活性提升,为实现高可用、可扩展提供了基础

5、服务治理能力下沉,与业务实现剥离,进一步让用户专注于业务

二、微服务拆分原则

1、康威定律

2、两个披萨理论

3、三个火枪手原则

三、微服务拆分策略

1、纵向拆分

将不同的功能模块服务化,独立部署和运维,标准是按照业务的关联程度来决定, 关联比较密切的业务适合拆分为一个微服务,而功能相对比较独立的业务适合单独拆分为一个微服务

2、横向拆分

从公共且独立功能维度拆分,标准是按照是否有公共的被多个其他服务调用,且依赖的资源独立不与其他业务耦合

四、微服务拆分方法

1、基于业务逻辑拆分:将系统中的业务模块按照职责范围识别出来,每个单独的业务模块拆分为一个独立的服务

2、基于可扩展拆分:将系统中的业务模块按照稳定性排序,经常变化的服务拆分粒度较细

3、基于可靠性拆分:将系统中的业务模块按照优先级排序,然后重点保证核心服务的可用性

4、基于性能拆分:将性能要求高或者有性能瓶颈的模块拆分出来,避免性能压力大的服务影响其他服务

猜你喜欢

转载自blog.csdn.net/bishenghua/article/details/135028820
今日推荐