什么是微服务

大师的定义

Martin Fowler

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

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

Chris Richardson

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

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

如何选择架构风格

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

微服务架构的模式集合

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

  • 分解模式
  • 部署模式
  • 切面特性
  • 通信模式
  • 外部访问模式
  • 服务发现模式
  • 可靠特性
  • 数据管理模式
  • 安全特性
  • 测试特性
  • 可监控特性
  • UI模式

相关文章

参考文档

https://microservices.io/

posted @ 2019-07-13 21:46  羽客  阅读(722)  评论(0编辑  收藏  举报