Architecture 微服务架构需要建议

Architecture 微服务架构需要建议,architecture,microservices,separation-of-concerns,Architecture,Microservices,Separation Of Concerns,我们在敏捷模式下与两个不同的团队/应用程序合作,我们面临着一种新的情况,我们需要您的建议。应用程序A(由团队A开发)的前端现在需要微服务B(由团队B开发)提供的服务。前端A应该直接询问微服务B,还是您希望它通过微服务A?这是一个关注点分离的问题吗 如能提供帮助/建议,将不胜感激 太多了 前端A应直接调用微服务B。就像你的解决方案2 简单地说,微服务体系结构应该由以自包含和自管理方式提供单一功能的小型服务组成 解决方案1违反了这一原则 MicroserviceA不需要调用microserviceb

我们在敏捷模式下与两个不同的团队/应用程序合作,我们面临着一种新的情况,我们需要您的建议。应用程序A(由团队A开发)的前端现在需要微服务B(由团队B开发)提供的服务。前端A应该直接询问微服务B,还是您希望它通过微服务A?这是一个关注点分离的问题吗

如能提供帮助/建议,将不胜感激

太多了


前端A应直接调用微服务B。就像你的解决方案2

简单地说,微服务体系结构应该由以自包含和自管理方式提供单一功能的小型服务组成

解决方案1违反了这一原则

MicroserviceA不需要调用microserviceb来执行其功能。前端A需要它。保持微服务的简单和集中,否则你不是在做微服务架构,而是在做其他事情


接近微服务架构的最佳方法是孤立地对待每一个微服务功能,就好像它是唯一存在的微服务,然后按需添加依赖关系(对其他微服务的调用),不要考虑您的微服务的客户端的需要,想想那个特定的服务提供了什么。

前端A应该直接呼叫微服务B。就像你的解决方案2

简单地说,微服务体系结构应该由以自包含和自管理方式提供单一功能的小型服务组成

解决方案1违反了这一原则

MicroserviceA不需要调用microserviceb来执行其功能。前端A需要它。保持微服务的简单和集中,否则你不是在做微服务架构,而是在做其他事情


接近微服务架构的最佳方法是孤立地对待每一个微服务功能,就好像它是唯一存在的微服务,然后按需添加依赖关系(对其他微服务的调用),不要考虑您的微服务的客户端的需要,想一想这项服务提供了什么。

Tonz可能的解决方案

1) 尝试在后端前面添加新的层,如Nginx反向代理

2) 差不多。使用API网关

3) 直接从后端A调用后端B,并在后端A中创建新的端点

4) 重复数据和逻辑

5) 再提取一个后端

6) 等等

7) 等等


它实际上取决于许多因素,如公共体系结构、代码组织、开发规则、工具。。。没有一颗银弹

Tonz可能的解决方案

1) 尝试在后端前面添加新的层,如Nginx反向代理

2) 差不多。使用API网关

3) 直接从后端A调用后端B,并在后端A中创建新的端点

4) 重复数据和逻辑

5) 再提取一个后端

6) 等等

7) 等等


它实际上取决于许多因素,如公共体系结构、代码组织、开发规则、工具。。。没有一颗银弹

我理解您在这里描述的逻辑,但您是否认为前端依赖于多个微服务是“正常”的?谢谢,这取决于你所说的“前端”。如果您有一个由MVC组成的前端,那么您的控制器将调用相应的微服务,获取数据,生成模型并将其传递给视图。模型、视图和控制器集是您的前端。如果您将“视图”标识为前端,将“MC”标识为后端,那么您的“后端”不是一个微服务,因此您的方法存在冲突。我理解您在这里描述的逻辑,但您是否认为前端依赖于多个微服务是“正常”的?谢谢,这取决于你所说的“前端”。如果您有一个由MVC组成的前端,那么您的控制器将调用相应的微服务,获取数据,生成模型并将其传递给视图。模型、视图和控制器集是您的前端。如果您将“视图”标识为前端,将“MC”标识为后端,则您的“后端”不是一个微服务,因此您的方法存在冲突。