一、微服务项目的设计
① 微服务设计的思想
- 一个单片应用程序将被构建、测试并顺利地通过这些环境。事实证明,一旦投资于将生产路径自动化,那么部署更多的应用程序似乎就不再那么可怕了。请记住,CD的目标之一就是让部署变得无聊,所以无论是一个应用程序还是三个应用程序,只要它仍然无聊就没关系。
- 使用基础设施自动化的另一个领域是在生产环境中管理微服务,与我们上面的断言相反,只要部署是无聊的,那么单体服务和微服务之间就没有太大的区别,两者的运营环境可能截然不同。
- 微服务把各个功能拆开了,每个模块的功能更加独立,也更加单一,每个模块都独立发展,可以说做到了功能的高内聚,低偶合:
- 这样数据库也被彻底拆分开了。一个巨大复制的单体数据库也按照功能拆成了小的独立数据库。微服务就是这么简单吗?当然不是,里面有很多细节需要考虑,纸上得来终觉浅,绝知此事要躬行。
② 实践设计和改进
- 现在要设计一个最简单的微服务架构,为了更贴近真实的业务,假设这个系统是这样的: