jjzjj

Microservices

全部标签

go - 在容器中或不在容器中部署具有微服务架构的 Go 应用程序?

我是DevOps的新手,特别是使用golang和微服务架构。我想知道go应用程序是否应该部署在容器(Docker)中。在这种情况下,我有一个使用微服务架构构建的系统。例如,我有2个Web服务,A和B。我还有另一个Web服务器充当这两个服务前面的网关。A和B都需要访问数据库,例如MySQL。A处理A表,B处理B表。我知道在Go中,源代码被编译成一个可执行的二进制文件。因为我这里有3个服务,所以我有3个二进制文件。这三个都作为公开JSONRESTAPI的Web服务器运行。我的问题是:我可以将这些服务器一起部署在一台主机上,该主机在不同端口上运行吗?例如,如果我的主机获得IPx.x.x.x,

git - 微服务:众多微服务的源代码如何 stash ?

目前,我有一个项目20个微服务。每个微服务都存储在单独的GIT存储库中。随后,服务数量将增加到200(或更多)。每个服务都有单元测试和集成测试。每个服务都在TeamCity(持续集成服务器)中构建。问题:如何存储一个项目200个微服务的源码?在一个存储库中还是在单独的存储库中? 最佳答案 除非这些微服务是紧密耦合的(这意味着只下载其中的一些是没有意义的,你只能使用它们中的所有),将它们分别保存在一个单独的建议使用Git存储库。但您仍然可以将它们引用为submodule在父存储库中以便在任何给定时间跟踪它们的状态。

git - 微服务:众多微服务的源代码如何 stash ?

目前,我有一个项目20个微服务。每个微服务都存储在单独的GIT存储库中。随后,服务数量将增加到200(或更多)。每个服务都有单元测试和集成测试。每个服务都在TeamCity(持续集成服务器)中构建。问题:如何存储一个项目200个微服务的源码?在一个存储库中还是在单独的存储库中? 最佳答案 除非这些微服务是紧密耦合的(这意味着只下载其中的一些是没有意义的,你只能使用它们中的所有),将它们分别保存在一个单独的建议使用Git存储库。但您仍然可以将它们引用为submodule在父存储库中以便在任何给定时间跟踪它们的状态。

node.js - NodeJS 中的微服务架构

我正在做一个副项目,我决定将我的Skelton项目重新设计为微服务,到目前为止,我还没有找到任何遵循这种模式的开源项目。经过大量的阅读和搜索,我得出了这个设计的结论,但我仍然有一些问题和想法。以下是我的问题和想法:如果我有来自同一个微服务的2个Node,如何使API网关足够智能以加载平衡请求?如果其中一个微服务发生故障,发现应该如何知道?有没有类似的实现?我的设计对吗?我应该使用Eureka还是类似的东西? 最佳答案 你的设计看起来不错。我们还在使用APIGateway方法构建我们的微服务项目。包括网关服务(GW)在内的所有服务都是

node.js - NodeJS 中的微服务架构

我正在做一个副项目,我决定将我的Skelton项目重新设计为微服务,到目前为止,我还没有找到任何遵循这种模式的开源项目。经过大量的阅读和搜索,我得出了这个设计的结论,但我仍然有一些问题和想法。以下是我的问题和想法:如果我有来自同一个微服务的2个Node,如何使API网关足够智能以加载平衡请求?如果其中一个微服务发生故障,发现应该如何知道?有没有类似的实现?我的设计对吗?我应该使用Eureka还是类似的东西? 最佳答案 你的设计看起来不错。我们还在使用APIGateway方法构建我们的微服务项目。包括网关服务(GW)在内的所有服务都是

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