jjzjj

microservices

全部标签

node.js - 如何在微服务/事件驱动架构中处理 HTTP 请求?

背景:我正在构建一个应用程序,建议的架构是基于微服务架构的事件/消息驱动。做事的单一方式是我有一个用户/HTTP请求,并且执行一些具有直接同步响应的命令。因此,响应相同的用户/HTTP请求是“无忧无虑的”。问题:用户发送一个HTTP请求到UI服务(有多个UI服务),它会触发一些事件到队列(Kafka/RabbitMQ/any)。一个N服务拾取该事件/消息在此过程中发挥了一些作用,然后在某个时候,同一个UI服务应该拾取响应并将其返回给发起HTTP请求的用户。请求处理是ASYNC但User/HTTPREQUEST->RESPONSE根据您的典型HTTP交互是SYNC。问题:在这个不可知论/

node.js - 如何在微服务/事件驱动架构中处理 HTTP 请求?

背景:我正在构建一个应用程序,建议的架构是基于微服务架构的事件/消息驱动。做事的单一方式是我有一个用户/HTTP请求,并且执行一些具有直接同步响应的命令。因此,响应相同的用户/HTTP请求是“无忧无虑的”。问题:用户发送一个HTTP请求到UI服务(有多个UI服务),它会触发一些事件到队列(Kafka/RabbitMQ/any)。一个N服务拾取该事件/消息在此过程中发挥了一些作用,然后在某个时候,同一个UI服务应该拾取响应并将其返回给发起HTTP请求的用户。请求处理是ASYNC但User/HTTPREQUEST->RESPONSE根据您的典型HTTP交互是SYNC。问题:在这个不可知论/

javascript - 如何将 gRPC 定义的 API 引入 Web 浏览器

我们想为我们的gRPC微服务构建一个Javascript/HTMLgui。由于浏览器端不支持gRPC,我们想到了使用web-sockets连接到node.js服务器,该服务器通过grpc调用目标服务。我们很难找到一个优雅的解决方案来做到这一点。特别是,因为我们使用gRPC流在我们的微服务之间推送事件。看来我们需要第二个RPC系统,只是为了前端和node.js服务器之间的通信。这似乎是很多开销和必须维护的额外代码。有没有人做过类似的事情或知道如何解决这个问题? 最佳答案 编辑:自2018年10月23日起,gRPC-Webproject

javascript - 如何将 gRPC 定义的 API 引入 Web 浏览器

我们想为我们的gRPC微服务构建一个Javascript/HTMLgui。由于浏览器端不支持gRPC,我们想到了使用web-sockets连接到node.js服务器,该服务器通过grpc调用目标服务。我们很难找到一个优雅的解决方案来做到这一点。特别是,因为我们使用gRPC流在我们的微服务之间推送事件。看来我们需要第二个RPC系统,只是为了前端和node.js服务器之间的通信。这似乎是很多开销和必须维护的额外代码。有没有人做过类似的事情或知道如何解决这个问题? 最佳答案 编辑:自2018年10月23日起,gRPC-Webproject

java - 如何使用 docker 镜像从另一个微服务调用一个微服务

我有两个SpringBoot微服务M1(port2002)和M2(port2004)M1和M2如果我使用eclipse运行它们(作为Java项目或SpringBoot项目运行),则它们通信成功。但是,我想使用Docker容器与它们通信。所以我使用以下命令为Microservices(M1和M2)构建图像:dockerbuild-fDockerfile-timage_name.并使用以下命令运行图像:dockerrun-p2004:2004image_name注意:我从docker暴露了与上面定义的相同的端口但是M1和M2无法通信。我正在使用RestTemplateRestTemplat

java - 如何使用 docker 镜像从另一个微服务调用一个微服务

我有两个SpringBoot微服务M1(port2002)和M2(port2004)M1和M2如果我使用eclipse运行它们(作为Java项目或SpringBoot项目运行),则它们通信成功。但是,我想使用Docker容器与它们通信。所以我使用以下命令为Microservices(M1和M2)构建图像:dockerbuild-fDockerfile-timage_name.并使用以下命令运行图像:dockerrun-p2004:2004image_name注意:我从docker暴露了与上面定义的相同的端口但是M1和M2无法通信。我正在使用RestTemplateRestTemplat

go - 微服务无法使用 Docker for Mac 进行通信

我正在尝试获取两个容器,每个容器都运行不同的Go服务。这两个服务都是用net/http包构建的。我有一个API前端和一个身份验证服务后端。这是我的撰写文件:version:"2"services:staticfiles:build:./filesvolumes:-/public-/viewsapi:build:./apienvironment:-PORT=8080-BASE_URL=https://example.org-AUTH_HOST=auth-AUTH_PORT=8080-VIEW_DIR=/views-PUBLIC_DIR=/publicports:-"80:8080"vol

go - 微服务无法使用 Docker for Mac 进行通信

我正在尝试获取两个容器,每个容器都运行不同的Go服务。这两个服务都是用net/http包构建的。我有一个API前端和一个身份验证服务后端。这是我的撰写文件:version:"2"services:staticfiles:build:./filesvolumes:-/public-/viewsapi:build:./apienvironment:-PORT=8080-BASE_URL=https://example.org-AUTH_HOST=auth-AUTH_PORT=8080-VIEW_DIR=/views-PUBLIC_DIR=/publicports:-"80:8080"vol

database - 微服务和数据库

在微服务架构中部署数据库的最佳实践是什么,更准确地说是在分布式环境中,例如dockerswarm?微服务原则规定每个服务都应该是无状态的以实现扩展。由于数据库显然是有状态的,它是否应该在集群外部的固定位置,在集群初始化之前部署和配置?我很困惑,因为所有dockercompose示例在服务定义中都包含数据库容器。但事情并没有那么简单。通常,数据库在准备好使用之前需要进行大量配置。此外,docker在协调服务启动顺序方面很糟糕。如果将数据库与服务一起部署到dockerswarm确实是一个好习惯,那么如何确保关键数据的一致性和持久性? 最佳答案

database - 微服务和数据库

在微服务架构中部署数据库的最佳实践是什么,更准确地说是在分布式环境中,例如dockerswarm?微服务原则规定每个服务都应该是无状态的以实现扩展。由于数据库显然是有状态的,它是否应该在集群外部的固定位置,在集群初始化之前部署和配置?我很困惑,因为所有dockercompose示例在服务定义中都包含数据库容器。但事情并没有那么简单。通常,数据库在准备好使用之前需要进行大量配置。此外,docker在协调服务启动顺序方面很糟糕。如果将数据库与服务一起部署到dockerswarm确实是一个好习惯,那么如何确保关键数据的一致性和持久性? 最佳答案