微信号:infoqchina

介绍:有内容的技术社区媒体

微服务学习资料汇总

2014-07-11 18:13 郭蕾

最近微服务在社区中逐步流行起来,微服务是用一组小而专的服务来构建一个应用,服务独立运行在不同的进程中,服务之间通过轻量的通讯机制来交互,并且服务可以通过自动化部署方式独立部署。微服务的核心理念是将大型、复杂的应用分解为小且内聚的服务,这些小的服务便于扩展和部署,他们可以简单的和当下流行的Docker、DevOps、云计算联系起来。 下面是关于微服务的一些优秀的学习资料:


1.微服务的定义

  • Martin Fowler的《微服务》是第一篇详细介绍微服务的文章。文中对微服务进行了定义,并与传统的整理式的架构进行了对比,阐述了微服务的优势。但是文章并没有对微服务进行精确定义,也没有深入剖析,所以在社区中引起了广泛讨论,Hacker News上的评论就相当精彩。部分中文翻译可以参考此文。

  • James是一位资深开发工程师,他的博文《微服务架构》图文并茂的从通信、测试、监控、管理等方面对微服务进行了解析。文章同样也强调了运维的重要性。

  • David的微服务系列文章介绍了微服务的概念、微服务的使用场景、微服务不适合的场景以及微服务架构下系统的测试方法。


2.实践经验

  • Rinat的文章总结了自己在实际项目中使用微服务架构的经验,并着重解释了很多人怀疑的性能问题。Rinat的文中提到的系统是一个不错的学习案例。

  • 微服务是由多个小而专的服务组成的,小的服务是如何界定的?Chris在文章《微服务:更小更多的服务?》中谈了谈自己的看法。

  • Toby的PPT重点介绍了微服务架构中可选的几种测试方案,比如单元测试、端对端测试、容器测试等。

  • Jeppe的PPT介绍了目前的SOA架构在实际生产中面临的一些问题,并介绍了基于SOA和事件驱动的新架构SOA 2.0,其实想法和微服务架构大相径庭。

  • Michael的PPT微服务与函数式编程相结合的一些经验。

  • SoundCloud在是如何从传统架构演进到微服务架构的。

  • Docker微容器+微服务将颠覆传统的软件架构,微容器+微服务的一大创新是将SOA和云计算完美无缝结合在一起。

  • 亚马逊的微服务架构使用经验。


3.微服务的短板

  • Benjamin Wootton的文章《微服务架构——不是免费的午餐》从运营、DevOps、接口、分布式、异步、测试等方面解释了微服务架构的种种弊端,作者认为如果使用微服务架构需要考虑它的成本以及挑战。

  • InfoQ中文站的文章《有关微服务架构的争论:更简单还是更复杂?》对微服务的优缺点进行了全面的分析,作者认为微服务是顺应PaaS、持续交付、DevOps等新技术理念下的产物,虽然还有一些短板,但微服务应该是大的趋势。

  • 《微服务与SOA》在SOA的角度介绍了微服务,文章认为微服务并不是什么新鲜的东西,而只是SOA的另一个叫法。


4.视频资料

  • 微服务:Java,用Unix的方式

  • 微服务架构

  • 微服务的真实样子

  • 微服务的服务应该多大?

  • 微服务社区

  • 分解应用以实现可部署性和可扩展性


微服务的倡导者认为开发团队应该负责产品的整个生命周期,正如最近经常提到的理念“ You Build It, You Run It”。微服务的核心思想与目前的技术潮流相吻合,相信它是一个大的趋势。InfoQ中文站一直在推动微服务架构在国内的普及以及发展,如果您有微服务相关的文章,欢迎投稿。


相关资源的链接,请点击“阅读原文”获取。


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 程序员摆脱疲劳的 11 个建议 谷歌的代码管理 Win10上运行Docker 【Android】Broadcast控制音乐暂停继续等 Android新布局方式ConstraintLayout介绍与学习资料