腾讯T8纯手写66个微服务架构设计模式,全部学会真的“变强”了
微服务的概念虽然直观易懂,但“细节是魔鬼”,微服务在实操落地的环节中存在诸多挑战。我们在为企业提供PaaS、人工智能、云原生平台等数字化转型解决方案时也发现,企业实现云原生,并充分利用PaaS能力的第一步,往往是对已有应用架构进行现代化微服务改造,而如何进行微服务拆分、设计微服务逻辑、实现微服务治理等实操问题成为很大的挑战。 本文既包含了微服务的原理、原则,又包含了实际落地中的架构设计模式;既包含可举一反三的理念和概念,也包含类似领域驱动设计、Saga实现事务操作、CQRS构建事件驱动系统等具体可套用的示例。本书可以帮助读者把传统的单体巨石型应用循序渐进地改造为微服务架构,从微服务的拆分,微服务架构下业务逻辑的设计以及事务、API、 通信等的实现,一直到微服务系统的测试与生产上线,帮助读者建立从无到有的完整微服务系统搭建的生命周期。 书籍优质内容节选 第8章外部APl模式 8.1外部API的设计难题 为了探索与API相关的各种问题,让我们考虑一下FTGO应用程序。如图8-1所示,该应用程序的服务由各种客户端使用。使用服务API的客户端一共有四种: ■Web应用程序,如Consumer web 应用程序一为 消费者实现基于浏览器的用户界面,Restaurant web 应用程序一实 现基于浏览器的餐馆用户界面,以及AdminWeb应用程序一实 现供内部管理员使用的用户界面。