什么是微服务

大师的定义

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

Martin Flower

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

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

Chris Richardson

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

如何选择架构风格

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

微服务架构的模式集合

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

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

相关文章

单体架构风格

微服务架构风格

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序你好

数据库设计中的6个最佳实践步骤

如果设计得当,数据库是记录、存储、检索和比较数据的强大工具。然而,一个没有经过精心设计和目的的数据库不仅仅是无效的,它对那些使用它最多的人(开发人员)来说是一个...

1382
来自专栏IT大咖说

经历了研发困局、运维之痛,同程微服务从1到1w的旅程

内容来源:2017 年 9 月 9 日,前同程艺龙架构师谢康在“ArchData技术大会上海站”进行《同程微服务从1到1w的旅程》演讲分享。IT 大咖说(微信i...

1633
来自专栏Golang语言社区

[Go语言]采用Go语言作为服务端编程语言的建议书

按:这是我给公司(部门)写的使用推广Go语言的建议书,给领导看了以后,领导同意使用Go语言对一些服务器程序进行改写并部署到外网进行验证。希望这篇文章能够给同样在...

9858
来自专栏WeTest质量开放平台团队的专栏

一分钟读懂兼容测试报告(一):概况篇

? WeTest 导读 在WeTest深度兼容测试上线之后,为大量手游及应用挖掘了兼容问题,为测试开发同学提供了极大的便利。为了能够让测试开发同学能够迅速的了...

1532
来自专栏大魏分享(微信公众号:david-share)

数据大爆炸,业务怎么办?

864
来自专栏WeTest质量开放平台团队的专栏

一分钟读懂兼容测试报告(一):概况篇

原文链接:https://wetest.qq.com/lab/view/425.html

1181
来自专栏技术杂文

微服务:真正的架构模式

微服务的相关知识和它的神秘令我着迷。概念上的微服务就像是现代最有趣的流行架构之一。它足够功能强大,有着广泛的使用方法;也足够模糊,难以统一而论。

2753
来自专栏架构师之路

微博与im消息实现对比[随想]

这两天在Qcon的群里讨论im讨论的比较多,翻出11年写的一篇blog(略显稚嫩?),原文如下: ===== 在网上看了一篇关于微博feed系统的架构文章(S...

3857
来自专栏葡萄城控件技术团队

[经验总结] 关于单元测试

偶然想起@jeffz_cn在twitter上问:“私有方法真的不应该单元测试吗?为什么?我觉得有的组件只是逻辑复杂一些,因此会提取私有方法,并且测试这些私有方法...

1958
来自专栏软件测试经验与教训

软件测试从零开始

3759

扫码关注云+社区

领取腾讯云代金券