微服务:
更快地交付可扩展软件


虽然微服务帮助独立团队更频繁地交付软件,但它需要新的思维以及升级后的架构模式。采用微服务架构可以更好更快地执行任务。

Back to 观点


使用Pivotal Cloud Foundry部署微服务架构
来自首席软件工程师Matt Stine的Pivotal观点

微服务是个不太直观的词
当我们谈论微服务时,我们看到了“微”字,就觉得这是个可以计算的服务。我可以告诉你们它有多大,可以测量它,可以给它加上数字,比如代码行或者操作数量之类的。

不要这样做,都是错的。

这个“微”指的不是数量,而是性质。

“角色、职责、能力、关注度、范围,这些东西都很难衡量,因为在座的每个人都来自不同的背景,你们对这个问题的回答也会略有不同:要把这个东西分解成我们称之为微服务的东西,规模有多大才算太大?”

“微服务的最佳定义来自Adrian Cockcroft:“带有限界上下文的松散耦合服务导向型架构。”

微服务:我的第一条建议
如果你是聪明人,不要尝试一开始就采用微服务。”

事实上,你应该从一体化架构着手。如果我能把想要构建的所有东西构建成一体化架构,然后进行持续交付,实现敏捷性,不断创新并做好所有这些工作,那么我会这样做,因为就算这样也比微服务简单得多。

微服务的现实情况
实施微服务非常困难。

如果你的公司规模比较小,在你还有能力的时候从一体化架构着手。你需要构建一些新内容,从小团队、小的一体化架构开始,构建十二要素应用。

如果你的架构比较小,不管它是微服务、一体化架构还是其他架构,都构建成十二要素应用,并在应用和平台之间制定协议,以便这些内容能够较好地协同工作,这样做相对比较简单。

要想把那些大规模的、已经存在很长时间的应用变成十二要素应用,就困难得多。我相信在座很多人都感受到了这种痛苦,但我们都知道,应用最终都会变得越来越大。

微服务:最低要求
如果您做不到以下四个基本事项,就尚未做好准备:

  • 在几秒或几分钟内调配新环境
  • 合理监控内容
  • 非常快速地部署一行新代码
  • 营造像DevOps一样的文化

微服务在Pivotal Cloud Foundry上运行良好
当您开始部署微服务时,必须处理一些问题,例如调配新环境和调配新代码,而在这个领域,Pivotal知道如何完成这些操作。当您将这两项内容结合在一起时,会发两者都不是互相之间运行所必需的,但绝对可以相辅相成。”


Matt对微服务的更多观点

“查看博客文章:” 使用Pivotal Cloud Foundry部署微服务架构



Back to 观点

联系我们