【问题标题】:Communicating between front-end and microservices前端和微服务之间的通信
【发布时间】:2021-03-21 01:26:29
【问题描述】:

所以在我的 uni 项目中,教授说我们可以尝试使用微服务,那么为什么不尝试一下呢?我有一个问题的想法。我不知道如何从前端(客户端应用程序)到后端进行通信。

使用单体应用很容易。前端运行在地址:端口 xxxx 后端运行在地址:端口 yyyy 只需在每次需要数据时调用端口 yyyy。 但是,如何在前端代码中没有大量不同地址的情况下使用微服务做到这一点呢?

我的一个想法是,在中间创建一个排序服务器,前端将调用该服务器,该服务器将检查应调用的微服务,然后将结果从微服务返回到前端。

基本上:

1.前端为产品调用中间的服务器

2.中间的服务器看到前端需要产品,所以它在其端口上调用产品微服务。

3.将产品微服务的结果返回给用户。

这种方法行得通吗?

【问题讨论】:

  • 是的,它会起作用——这种模式通常被称为“BFF”(前端的后端)。

标签: server microservices devops


【解决方案1】:

方法太多了。没有对错。

如果你有很多微服务,比如说10个以上,service mesh是常用的模式。每个服务可能调用1个或多个下游服务。在这种情况下,每个服务都需要知道它所依赖的其他服务的地址是什么。

如果您想通过单个服务进行路由。这就是网关模式。您的所有请求都通过一项服务,然后再路由到下游服务。

例如: 192.168.14.2:8080/账户 192.168.14.2:8080/某事

根据路由,这个网关服务可以调用accout-service或者something-service 当您随着时间的推移添加更多服务时,这不合适。 网关服务的负载将增加,并成为单点故障 例如,您可以使用 spring 云网关。这和你的解决方案一模一样

希望能回答你的问题

【讨论】:

    猜你喜欢
    • 2016-06-10
    • 1970-01-01
    • 2016-03-05
    • 2018-01-22
    • 1970-01-01
    • 2019-01-20
    • 2021-06-20
    • 2016-08-10
    • 2019-01-18
    相关资源
    最近更新 更多