读《微服务设计》

WHY:微服务架构可以更快的交付软件,有更多机会尝试新技术。技术决策上有极大的自由度。软件更新可以很频繁。

WHAT:一个微服务就是一个独立的实体,专注于做好一件事。可以独立部署在paas平台。服务之间通过API进行通信,避免紧耦合。因此需要考虑好什么应该暴露,什么应该隐藏。

HOW微?一个微服务应该可以在两周内完全重写。或者你不认为代码库过大。

核心原则:高内聚低耦合。

好的微服务:限界上下文寻找技术接缝,将微服务与这些技术边界相匹配。

弊:管理大量微服务会复杂。需要一个“架构师”来确保团队有共同的技术愿景。

正告1:如果想要得到一条通用准则,微服务是一个错误的选择。

正告2:走捷径会引人技术债务。


如果使用客户端方式,千万不要把与目标服务相关的逻辑放到客户端库中。

每个微服务都有各自的源代码库和CI构建。

当发现脆弱的测试时,应该竭尽全力去解决这个问题。否则,我们对出错会变得习以为常。当不能立即修复时,需要把他们记录下来(比如提个ec),并从测试套间中移除。

实际上,有些不必要的测试可以被删掉。删除测试往往令人担忧,这可以理解。但这样可以避免每个故事都端到端交付导致大量重发测试用例,使得测试库臃肿,反馈周期太长的缺点。当然,这里也是从周期时间和低风险之间做取舍。

赋予团队更多的服务所有权,会提高自治和交付速度,激励团队创建易于部署的服务。大面积采用特性团队后,容易出现很少有人下意识的做守护者。

服务相当成熟很少改变的时候,才是开源让别人贡献代码的时候。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、微服务将变得轻量级 架构需要由人去设计,这些人被称为架构师。或许很多人并未授予架构师的头衔,但自己却从事着架构...
    justmilkrain阅读 5,536评论 10 109
  • “微服务架构”这一术语在前几年横空出世,用于描述这样一种特定的软件设计方法,即以若干组可独立部署的服务的方式进行软...
    ThoughtWorks阅读 17,065评论 1 71
  • 转载本文需注明出处:微信公众号EAWorld,违者必究。 微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所...
    72a1f772fe47阅读 3,507评论 0 38
  • 微服务最近非常流行,各大互联网公司纷纷采用微服务架构体系,微服务架构模式正在为敏捷部署以及复杂企业应用实施提供巨大...
    Sting阅读 9,171评论 0 57
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,314评论 19 139

友情链接更多精彩内容