我有一个Spring Boot微服务项目,用三个微服务来测试分布式事务管理的saga模式。
当我使用java-jar axonserver在本地运行
Axon服务器
时。jar</code>和带有<code>mvn的spring boot微服务spring boot:运行</code>,一切正常,我可以在Axon Server仪表板中看到所有微服务。
我已经将用于微服务的
Docker
文件和docker-compose.yml添加到项目中,以使用docker-compose
运行整个项目。这是我的docker-compose.yml
文件:
version: '3.8'
services:
axonserver:
image: axoniq/axonserver
hostname: axonserver
container_name: axonserver
volumes:
- type: bind
source: ./data
target: /data
- type: bind
source: ./events
target: /eventdata
- type: bind
source: ./config
target: /config
read_only: true
ports:
- '8024:8024'
- '8124:8124'
- '8224:8224'
networks:
- axon-demo
order-service:
container_name: "order-service"
build:
context: ./order-service
ports:
- "8080:8080"
depends_on:
- axonserver
networks:
- axon-demo
payment-service:
container_name: "payment-service"
build:
context: ./payment-service
ports:
- "8081:8081"
depends_on:
- axonserver
networks:
- axon-demo
shipping-service:
container_name: "shipping-service"
build:
context: ./shipping-service
ports:
- "8082:8082"
depends_on:
- axonserver
networks:
- axon-demo
networks:
axon-demo:
driver: bridge
我还将 axon-server
添加到所有
微服务的属性中,如下所示:
axon.axonserver.servers=axonserver:8124
运行< code > docker-compose up-build
命令后,微服务无法连接到Axon服务器,我收到了以下错误:
order-service | 2021-07-10 15:01:01.199 WARN 1 --- [rverConnector-0] o.a.a.c.AxonServerConnectionManager : Connecting to AxonServer node localhost:8124 failed: UNAVAILABLE: io exception
我的问题是为什么微服务在localhost:8124
中寻找axon服务器,这显然是错误的,并且违反了它们在application.properties
中的配置:
axon.axonserver.servers=axonserver:8124
这里的轴突服务器是轴
子服务器的容器名称。
属性文件包含以下内容:
axon.axonserver.servers=${AXONSERVER_HOST:axonserver:8124}
请在没有“:8124”的情况下尝试:
axon.axonserver.servers=${AXONSERVER_HOST:axonserver}
我觉得Spring boot被双“:”搞糊涂了。端口8124是Axon服务器连接的默认端口,因此您可以省去它,不会有任何问题。
如注释中所述,问题出在您的Dockerfile
上,您正在覆盖spring.config.location
。通过从Dockerfile
中删除它,问题应该得到修复。
我有发现服务:https://github.com/Naresh-Chaurasia/API-MicroServices-Kafka/tree/master/Microservices-CQRS-SAGA-Kafka/DiscoveryService 我有产品服务:https://github.com/Naresh-Chaurasia/API-MicroServices-Kafka/tree/ma
我尝试将我的服务(auth-service)连接到service Registry的Eureka服务器。Eureka服务器正在运行,但当我尝试连接身份验证服务时,什么也没有发生。 Eureka服务器的URL:http://localhost:8761/ DS副本:本地主机 启动身份验证服务时的消息: 发现服务pom
例外情况是: docker-compose文件是: 多克菲乌勒
我正在尝试连接两个docker容器,一个是posgresql,另一个是python flask应用程序。两者都链接正确,python应用程序中的所有连接变量都直接取自postgres容器中通过链接公开的连接变量,并且与检查postgresql容器时发现的连接变量相同。当我将psql与连接字符串中的精确参数一起使用时,即: 成功连接到postgres容器中的数据库,因此我知道postgres正在通过
我在设置打开班次时遇到问题,并在连接到我的服务器域后收到以下错误: 我不确定这是在告诉我做什么。我尝试按字面意思使用指令,但它无法识别命令。 有什么想法吗?
问题内容: 我不确定如何解决此问题 我不知道为什么在尝试以下操作时会出现此错误: 当我尝试连接到postgres时: 问题答案: 可能是一些问题: PostgreSQL没有运行。用sudo检查 你的PostgresSQl不在端口5432上运行。你可以检查其键入 尝试连接到数据库时出现错误,例如用户名,密码或数据库名。检查它们是否是postgres要求你连接的对象,并且这是你要访问的db_name。