首页 > 其他 > 详细

什么是微服务

时间:2019-07-13 22:15:48      阅读:96      评论:0      收藏:0      [点我收藏+]

大师的定义

微服务不是一个框架,也不是一个系统,微服务是一种架构风格。 微服务致力于松耦合和高内聚,采用独立的业务逻辑封装,接受请求、处理业务逻辑、返回响应,而且采用简单的REST风格,避免复杂的协议,最终实现敏捷开发。

Martin Flower,《Microservices》作者,敏捷开发创始人之一。

微服务,也被称为微服务体系结构,是一种架构风格。 通过将应用程序分解为一系列松散耦合的服务,来实现业务功能。微服务支持大型复杂应用的持续交付/部署。微服务让公司/组织能够自由发展自己的技术堆栈,不会被当前技术堆栈绑定。

Chris Richardson,《POJOs in Action》作者,CloudFoundry.com的创建者之一。

如何选择架构风格

两位大师都提到了架构风格,除了微服务架构,我们知道另一个架构风格是单体架构,这是传统的架构风格,对许多应用程序来说仍然是一个不错的选择,但是,它确实存在许多限制和问题,因此对于大型/复杂应用程序,更好的选择是微服务架构。

微服务架构的模式集合

微服务架构是一组架构模式和特性的集合,这个集合很大程度上定义了什么是微服务,也说明了如何应用微服务架构来构建大型/复杂应用程序。

分解模式

  • 按业务能力分解
  • 按子域分解

部署模式

  • 每个主机多个服务实例
  • 每个主机单个服务实例
  • 每个VM单个服务实例
  • 每个容器单个服务实例
  • 无服务器部署
  • 服务部署平台

切面特性

  • 微服务脚手架
  • 外部配置

通信模式

  • 远程过程调用
  • 消息队列
  • 特定领域的协议

外部访问模式

  • API网关
  • 后端服务

服务发现模式

  • 客户端发现
  • 服务器端发现
  • 服务注册表
  • 自我注册

可靠特性

  • 熔断器

数据管理模式

  • 每个服务数据库
  • 共享数据库
  • 数据一致性
  • API聚合
  • CQRS

安全特性

  • 安全令牌

测试特性

  • 服务组件的单元测试
  • 消费者驱动的合约测试

可监控特性

  • 日志聚合
  • 应用性能指标
  • 审计日志
  • 分布式跟踪
  • 异常跟踪
  • 健康检查API
  • 记录部署和更改

UI模式

  • 后端UI模板
  • 前端UI组合

相关文章

参考文档

https://microservices.io/

什么是微服务

原文:https://www.cnblogs.com/yorkwu/p/9262512.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!