註冊中心:
服務端註冊中心(位於seata-server的registry.conf配置檔案中的registry.type引數),為了實現seata-server集群高可用不會使用file型別,例如下邊**表示:使用zookeeper作為seata服務們的註冊管理中心,當前seata服務將會交由這個zk管理
registry
eureka
redis
zk consul
etcd3
sofa
file
}
客戶端註冊中心(位於各個分布式專案中的registry.conf配置檔案中的registry.type引數)其實指的是在**返現seata-server,因為為了支援ha高可用seata-server可能是集群的,比如交由zookeeper管理,那麼客戶端只需向zk去發現seata-server即可,例如配置:
registry
eureka
redis
zk consul
etcd3
sofa
file
}
如果僅適用單一的seata-server,無需ha高可用的支援,可以使用file作為註冊中心型別
配置中心:客戶端配置和服務端配置,就是管理服務端和客戶端關於seata的相關的引數設定,如果無需統一管理配置使用file即可,不會影響高可用,但最好也使用乙個第三方配置中心 , 舉例:
config
consul
apollo
zk etcd3
file
}
注意不推薦registry.type=file:因為當registry.type=file時,說明這裡用的不是真正的註冊中心,不具體集群內服務的健康檢查機制當tc(seata-server)不可用時無法自動剔除列表,推薦使用nacos 、eureka、redis、zk、consul、etcd3、sofa。
registry.type=file或config.type=file 設計的初衷是讓使用者再不依賴第三方註冊中心或配置中心的前提下,通過直連的方式,快速驗證seata服務。
注意ha高可用說明如果使用了seata-server集群為了保證資料 的一直行,服務端的配置引數store.mode就不能使用file型別了,不然會報錯。需要使用db型別,將集群中所有的seata-server的資料儲存位置指向同乙個db或db集群。如果db使用mysql時使用過高版本可能會出現一些問題,之前使用mysql8.0作為db儲存遇到些問題,降到5.x就好了
跟多配置引數參考
展示一下我專案中的服務端和客戶端的配置,僅供參考:
服務端registry.conf:
registry
}config
}
因為上邊我使用的配置方式選的file【有點low但是不影響高可用的使用】,許指定乙個檔案,我寫的是同級目錄下的file.conf,所以需要服務端配置檔案file.conf:
store
}
客戶端registry.conf:
registry
}config
}
同理配置方式選用的file方式file.conf:
transport
shutdown
serialization = "seata"
compressor = "none"
}service
client
reportretrycount = 5
tablemetacheckenable = false
reportsuccessenable = false
} tm
undo
log
}
Seata 註冊中心
註冊中心的實現有很多種方式,如下圖所示。這是註冊中心定義的介面,分別給不同的角色使用。例如協調者 註冊,取消註冊,關閉。事務管理器和資源管理器 訂閱,取消訂閱,查詢 public inte ce registryservice return configurationfactory.getinsta...
seata 配置中心使用 nacos
在上篇筆記中 seata 的配置中心使用的是 file 也就是本地配置檔案方式,現在修改為 nacos 配置中心方式。1 修改 registry.conf 配置檔案中的 config.type 修改為 nacos 並修改nacos中的配置。配置檔案如下 config 2 將seata 需要的配置資訊...
註冊中心選型和配置中心選型
cp模型 distro 協議,如果選ephemeral 臨時節點 則全部在記憶體中操作,則支援類似於distro 協議,服務端節點都儲存所有資料,但每個節點只負責其中一部分服務,在接收到客戶端的 寫 註冊 心跳 下線等 請求後,服務端節點判斷請求的服務是否為自己負責,如果是,則處理,否則交由負責的節...