博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
云平台实践中的微服务设计原则
阅读量:6572 次
发布时间:2019-06-24

本文共 573 字,大约阅读时间需要 1 分钟。

以下设计原则是在云平台架构实践()中的一些经验总结,不一定适合所有微服务架构的体系。

业务原则

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

技术原则

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

治理原则

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

相关资料


你现在的气质里,藏着你走过的路,读过的书,爱过的人。

转载地址:http://djmjo.baihongyu.com/

你可能感兴趣的文章
Linux文件和目录管理常用命令(中)
查看>>
Configure HUE to store data in MySQL
查看>>
我的友情链接
查看>>
Server2008 中AD的部署
查看>>
Enhanced VMotion Compatibility (EVC) 功能介绍和实战设置
查看>>
RabbitMQ 流控制学习
查看>>
Ubuntu16.04 ssh安及root登录
查看>>
一个工程两个target
查看>>
linux 给文件夹权限
查看>>
用复制mysql/data 文件夹 下面的数据库的形式来复制数据库出现的问题
查看>>
C语言dos程序源代码分享(进制转换器)
查看>>
php项目中常用的log日志记录方法
查看>>
Android--实现点击一次返回键返回桌面而不是退出应用
查看>>
LogParser 导入MSSQL
查看>>
左侧固定导航栏
查看>>
linux安装go环境并编写第一个go程序
查看>>
解决:laravel出现Please provide a valid cache path.
查看>>
[JAVA] String常用方法
查看>>
oracle
查看>>
兼容IE浏览器样式的html上传文件控件
查看>>