前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云平台架构实践中的微服务分解原则

云平台架构实践中的微服务分解原则

作者头像
羽客
修改2018-11-06 08:02:42
6350
修改2018-11-06 08:02:42
举报

本文是在云平台架构实践(参考这里)中对于如何拆分微服务的一些经验总结。

业务原则

  • 单一责任原则:对于一个微服务而言,具有有限的业务范围,可以帮助我们满足服务开发和交付的敏捷性;
  • 适当的边界:关注微服务的功能范围,一个服务的大小应该等于满足某个特定业务能力所需要的大小;
  • 业务分层: 从整体规划上把业务分层,形成单向依赖,避免微服务之间的网状依赖关系;
  • 颗粒度递增:设计初期先把业务划分到尽可能细,然后依据其它原则合并到适当颗粒度;
  • 非唯一依赖:至少被2个以上其它微服务依赖的功能模块,才有必要独立成一个微服务。

技术原则

  • 部署独立性:能独立于其它微服务部署,一个微服务故障不影响其它微服务;
  • 动态扩展:每个微服务都可以动态的进行x轴和z轴的扩展,并适应云环境下的自动化部署;( 参考这里
  • 领域和应用解耦:提供数据操作能力的领域服务和执行业务逻辑的应用服务解耦;
  • 避免产生频繁的跨库查询;
  • 避免产生频繁的分布式事务。

治理原则

  • 在业务分层的基础上,根据业务细分规则,对微服务分组;
  • 各个分组之间通过API网关集成;
  • 通过API网关实现级轻量级消息路由,鉴权;
  • 运行时管理,如服务降级,限流,监控等可在API网关实现,让微服务功能纯粹;
  • 避免通过数据库集成;
  • 避免部署多个版本来兼容。

相关资料

微服务架构风格

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 业务原则
  • 技术原则
  • 治理原则
    • 相关资料
    相关产品与服务
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档