最近微服务在社区中逐步流行起来,微服务是用一组小而专的服务来构建一个应用,服务独立运行在不同的进程中,服务之间通过轻量的通讯机制来交互,并且服务可以通过自动化部署方式独立部署。微服务的核心理念是将大型、复杂的应用分解为小且内聚的服务,这些小的服务便于扩展和部署,他们可以简单的和当下流行的 Docker、DevOps、云计算联系起来。 下面是关于微服务的一些优秀的学习资料:
- 微服务的定义
- Martin Fowler 的《微服务》是第一篇详细介绍微服务的文章。文中对微服务进行了定义,并与传统的整理式的架构进行了对比,阐述了微服务的优势。但是文章并没有对微服务进行精确定义,也没有深入剖析,所以在社区中引起了广泛讨论, Hacker News 上的评论就相当精彩。部分中文翻译可以参考此文。
- James 是一位资深开发工程师,他的博文《微服务架构》图文并茂的从通信、测试、监控、管理等方面对微服务进行了解析。文章同样也强调了运维的重要性。
- David 的微服务系列文章介绍了微服务的概念、微服务的使用场景、微服务不适合的场景以及微服务架构下系统的测试方法。
- 实践经验
- Rinat 的文章总结了自己在实际项目中使用微服务架构的经验,并着重解释了很多人怀疑的性能问题。Rinat 的文中提到的系统是一个不错的学习案例。
- 微服务是由多个小而专的服务组成的,小的服务是如何界定的?Chris 在文章《微服务:更小更多的服务?》中谈了谈自己的看法。
- Toby 的 PPT 重点介绍了微服务架构中可选的几种测试方案,比如单元测试、端对端测试、容器测试等。
- Jeppe 的 PPT 介绍了目前的 SOA 架构在实际生产中面临的一些问题,并介绍了基于 SOA 和事件驱动的新架构 SOA 2.0,其实想法和微服务架构大相径庭。
- Michael 的 PPT 微服务与函数式编程相结合的一些经验。
- SoundCloud 在是如何从传统架构演进到微服务架构的。
- Docker 微容器 + 微服务将颠覆传统的软件架构,微容器 + 微服务的一大创新是将 SOA 和云计算完美无缝结合在一起。
- 亚马逊的微服务架构使用经验。
- 微服务的短板
- Benjamin Wootton 的文章《微服务架构——不是免费的午餐》从运营、DevOps、接口、分布式、异步、测试等方面解释了微服务架构的种种弊端,作者认为如果使用微服务架构需要考虑它的成本以及挑战。
- InfoQ 中文站的文章《有关微服务架构的争论:更简单还是更复杂?》对微服务的优缺点进行了全面的分析,作者认为微服务是顺应 PaaS、持续交付、DevOps 等新技术理念下的产物,虽然还有一些短板,但微服务应该是大的趋势。
- 《微服务与 SOA》在 SOA 的角度介绍了微服务,文章认为微服务并不是什么新鲜的东西,而只是 SOA 的另一个叫法。
- 视频资料
微服务的倡导者认为开发团队应该负责产品的整个生命周期,正如最近经常提到的理念“ You Build It, You Run It”。微服务的核心思想与目前的技术潮流相吻合,相信它是一个大的趋势。InfoQ 中文站一直在推动微服务架构在国内的普及以及发展,如果您有微服务相关的文章,欢迎投稿。
评论