具有共享微服务的微服务模式
Microservice pattern with shared microservice
假设我有一个使用多个微服务的应用程序。其中两个是 USERS ( /users ) 和 CARS ( /cars )。
给定一个名为 rental history ( /users/{id}/history ) 的页面,其中列出了用户租用的汽车。
我是否应该引入一个中介微服务 RENTAL ( /rental ),它会查询其他两个微服务以获得最佳架构设计?
如果我想在不同的品牌下部署这个应用程序,正确的设计是什么,这意味着 USERS 数据库会不同,但是 CARS 数据库将在应用程序之间共享?
我强烈建议您使用租赁微服务来协调用户租车(和还车等)的过程。然后逻辑只出现在租赁服务中,不会分散到许多其他服务(计算 UI 和诸如此类用于此目的的服务)。
我实际上会质疑不同的品牌是否需要完全不同的用户服务,因为会有很多共同的功能。拥有带有品牌命名空间用户 ID 的通用用户服务(例如,租赁服务不需要了解品牌)和一些特定于品牌的外观(例如,将命名空间添加到 ID 和甚至可以处理频繁的租户计划之类的事情。
假设我有一个使用多个微服务的应用程序。其中两个是 USERS ( /users ) 和 CARS ( /cars )。 给定一个名为 rental history ( /users/{id}/history ) 的页面,其中列出了用户租用的汽车。
我是否应该引入一个中介微服务 RENTAL ( /rental ),它会查询其他两个微服务以获得最佳架构设计?
如果我想在不同的品牌下部署这个应用程序,正确的设计是什么,这意味着 USERS 数据库会不同,但是 CARS 数据库将在应用程序之间共享?
我强烈建议您使用租赁微服务来协调用户租车(和还车等)的过程。然后逻辑只出现在租赁服务中,不会分散到许多其他服务(计算 UI 和诸如此类用于此目的的服务)。
我实际上会质疑不同的品牌是否需要完全不同的用户服务,因为会有很多共同的功能。拥有带有品牌命名空间用户 ID 的通用用户服务(例如,租赁服务不需要了解品牌)和一些特定于品牌的外观(例如,将命名空间添加到 ID 和甚至可以处理频繁的租户计划之类的事情。