Skip to content

gozero的rpc直连dtm,执行事务时错误 #548

@linyu-senior

Description

@linyu-senior

这是rpc微服务中的dtm配置:
WalletRpcConf: Endpoints: - 127.0.0.1:2006 NonBlock: true
这是docker-compose中的dtm配置:
dtm: image: yedf/dtm:latest container_name: dtm restart: always ports: - "36789:36789" # HTTP API port - "36790:36790" # gRPC port environment: IS_DOCKER: 1 STORE_DRIVER: redis STORE_HOST: redis # Using container name as host STORE_PORT: 6379 STORE_PASSWORD: G62m50oigInC30sf # Using the same password as your Redis service STORE_REDIS_DB: 0 # Redis database number networks: - saas_customer_system_net depends_on: - redis

执行事务时,我在dtm的docker容器中看到的错误日志:
{"level":"error","ts":"2025-02-19T08:02:31.852Z","caller":"dtmsvr/trans_type_saga.go:133","msg":"exec branch 01 action direct:///127.0.0.1:2006/pb.Wallet/DeductBalance error: your http/grpc result should be specified as in:\nhttp://d.dtm.pub/practice/arch.html#proto\nunkown result will be retried: call dtmdriver.Use() before you use custom scheme for 'direct:///127.0.0.1:2006/pb.Wallet/DeductBalance'","stacktrace":"github.com/dtm-labs/dtm/dtmsvr.(*transSagaProcessor).ProcessOnce.func3.1\n\t/app/dtm/dtmsvr/trans_type_saga.go:133\ngithub.com/dtm-labs/dtm/dtmsvr.(*transSagaProcessor).ProcessOnce.func3\n\t/app/dtm/dtmsvr/trans_type_saga.go:137"}

我当前使用的是gozero框架,将dtm配置在docker-compose中作为基础设施,采用的是直连的方式,这是什么原因呢?我在网上找不到这方面的资料

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions