它现在是如何工作的:
微服务X用静态ip向微服务Y发出REST API请求
http://{ip-address}:{port}/doSomething
http://hostname:{port}/doSomething
我试图通过在docker-compose中创建一个已使用的定义网络来实现这一点:
#part of docker-compose file
streamapp:
hostname: twitterstreamapp
image: twitterstreamapp
container_name: twitterstreamapp
restart: always
ports:
- '8090:8080'
build:
context: ./TwitterStream
dockerfile: Dockerfile
storeapp:
hostname: twitterstoreapp
image: twitterstoreapp
container_name: twitterstoreapp
restart: always
ports:
- '8095:8080'
build:
context: ./TwitterStore
dockerfile: Dockerfile
depends_on:
- 'mysql-db'
networks:
- backend
volumes:
MyDataVolume:
networks:
backend:
driver: bridge
例如,我可以从容器X ping到容器Y,但不能Curl。我该如何解决这个问题,或者这不是实现我想要的最好的方法。
解决方案非常简单,可以使用服务的名称,而不是使用IP或主机名。
在您的示例中,在StreamApp
服务中,您可以使用http://storeApp:8080
访问另一个服务。
类似地,在storeapp
服务中,您可以通过http://streamapp:8080
访问另一个服务。
请不要说您必须使用内部端口,而不是导出端口。
当您从其他机器(即Internet)访问服务时,这并不适用。在这种情况下,必须使用http://{IP_OF_THE_MACHINE}:8090
格式
本文向大家介绍C#利用服务器实现客户端之间通信,包括了C#利用服务器实现客户端之间通信的使用技巧和注意事项,需要的朋友参考一下 先来讲述下我自己对于整个Socket通信过程的理解,毕竟初学,说错见谅,知道错了会改正~ 首先在服务端新建一个serverSocket,对其进行初始化(一般包含AddressFamily:IP地址类型,SocketType:Socket传输数据方式,ProtoType:
我是一个新的微服务,我正在读一些关于discovery server的例子,我看到我们可以通过使用url调用另一个微服务api:。“inventor-service”是我在Discovery中注册的服务实例。所以我的问题是使用调用目录host:port:http://localhost:9009/api/inventory/{productCode}的serviceId intead有什么好处。
Docker允许来自多个容器的服务器通过链接和服务发现相互连接。然而,据我所知,这个服务发现是主机本地的。我想实现一个使用其他托管在不同机器上的服务的服务。 在Docker中有几种方法可以解决这个问题,比如CoreOS的< code>jumpers,本质上代理其他机器的主机本地服务,以及一大堆用于管理Docker部署的github项目,这些项目似乎都试图支持这个用例。 鉴于发展速度,很难遵循当前的
大家好,我是微服务的架构新手,所以我有一个miscroservice,每个实体都链接到“用户”实体,但问题是“用户”实体在另一个微服务中,有什么解决方案吗? 如果我在同一个微服务中没有两个实体,我不知道在哪里使用@onetomany关系) 我无法将两个微服务组合在一起。 领域模型层呢?使用另一个微服务的数据是不是最好的解决方案? 提前感谢。
我正在构建一个基于Spring云的微服务ML管道。我有一个数据摄取服务,它(当前)从SQL接收数据,这些数据需要被预测服务使用。 普遍的共识是写入应该使用kafka/Rabbitmq使用基于异步消息的通信。 我不确定的是如何编排这些服务? 我是否应该使用API网关来调用启动管道的摄取?