SpringcloudAlibaba-seata常見啓動報錯問題

客戶端啓動報錯

no available service 'default' found, please make sure registry config correct

先決條件

1.seata 正常啓動並在nacos註冊中心的服務列表中有該服務
2.seata 的config.txt配置文件信息是否在nacos-->配置管理-->配置列表 --> namespace所對的命名空間中是否存在seata的配置

報錯原因

1.原因一:default大小寫
2.原因二:獲取不到服務
3.原因三:seata的registry.conf中nacos的配置是否正確

問題解決

原因一:在nacos中cluster默認是大寫DEFAULT,在registry.conf中

nacos {
   
   
    application = "seata-server"
    serverAddr = ""
    group = "SEATA_GROUP"
    namespace = ""
    cluster = "default"
    username = ""
    password = ""
  }
nacos的cluster我們配置的是小寫default,客戶端seata registry 的配置將cluster: default
seata:
  registry:
    type: nacos
    nacos:
      application: ${
   
   nacos.seata.application}
      server-addr: ${
   
   nacos.instance.hostname1}
      namespace: ${
   
   nacos.namespace}
      group: ${
   
   nacos.group}
      username: nacos
      password: nacos
      cluster: default

原因二:獲取不到服務在Seata config.txt 配置中添加自己的服務

如:service.vgroupMapping.provider_base_tx_group=default 
查看客戶端seata配置:
seata:
  enabled: true
  application-id: seata-server
  tx-service-group: provider_base_tx_group

安裝官方配置流程,原因一和原因二仍未解決此問題

原因三:檢查seata的registry.conf中nacos的配置是否正確

示例:
nacos {
   
   
    application = "seata-server"
    serverAddr = "ip:8848"
    group = "TRUNK_GROUP"
    namespace = "c4832bc1-86f5-49a0-b253-ebd08e6b81d9"
    cluster = "default"
    username = "nacos"
    password = "nacos"
  }
其中nacos.serverAddr 爲 nacos 註冊中心的地址
group爲分組
namespace爲命名空間

確保namespace 和 應用服務註冊的空間爲同一個環境

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章