本人主要关注的是领域驱动设计(ddd),一直觉得微服务算是另一个分野,没有特别地去关注。直到在油管上看到《领域驱动设计》的作者Eric Evans的这视频。(视频中Evans讲解了通过微服务,终于实现了可靠的Bounded Context的边界。)
才开始觉得这两个技术其实有一定关联。而在《building microservies》一书中作者也明确提出Bounded Context是一个很好的概念来帮助划分微服务。
工作上其实其他的部门也有过微服务的项目,不过由于当时经验不足(此处略去270个字…)。再加上最近看到的微服务的失败案例,正好分享一下这个话题。
API hell (API无限连击)
这是一个叫Jimmy Bogard的工程师在某个视频里分享的概念。其中的案例是说他为大电脑生产商Bell公司(你懂的)做一个耗时超过1年的网购服务时遇到的问题。
Bell公司的这个项目,工程师可能打了鸡血,一下子搞了200个服务!当然人家Netflix据说是有500多个微服务,与之相比差的还很远。
可能Bell公司是看了这张图给了他们启发。不过Jimmy Bogard对这个概念图的解释是这样的