微服务的实践

问题 :如何拆呢?

披萨理论:每个团队的人数不能多到两张披萨都不够吃的地步

“三个火枪手”原则:即一个微服务三个人负责开发

 

拆分方法:

1. 基于业务逻辑拆分
这是最常见的一种拆分方式,将系统中的业务模块按照职责范围识别出来,每个单独的业务模块拆分为一个独立的服务。


2. 基于可扩展拆分
将系统中的业务模块按照稳定性排序,将已经成熟和改动不大的服务拆分为稳定服务,将经常变化和迭代的服务拆分为变动服务。

3. 基于可靠性拆分
将系统中的业务模块按照优先级排序,将可靠性要求高的核心服务和可靠性要求低的非核心服务拆分开来,然后重点保证核心服务的高可用。具体拆分的时候,核心服务可以是一个也可以是多个,只要最终的服务数量满足“三个火枪手”的原则就可以。

 

微服务需要的基础能力

 

实施的优先级

1. 服务发现、服务路由、服务容错:这是最基本的微服务基础设施。

2. 接口框架、API 网关:主要是为了提升开发效率,接口框架是提升内部服务的开发效率,API 网关是为了提升与外部服务对接的效率。

3. 自动化部署、自动化测试、配置中心:主要是为了提升测试和运维效率。

4. 服务监控、服务跟踪、服务安全:主要是为了进一步提升运维效率。

 

posted @ 2019-03-11 16:47  人在江湖之诗和远方  阅读(273)  评论(0编辑  收藏  举报