Etcd3 Configuration Center
Etcd3 is an important configuration center implementation in the Seata component.
Prerequisites
Before integrating Etcd3
into your Seata project, make sure that the Etcd3 Server service has been started in the background. If you are not familiar with the basic usage of Etcd3, you can refer to the Etcd3 Quickstart for preliminary understanding. It is recommended to use Etcd3 version 3.5.0
or above.
Quick Start
The steps to integrate Etcd3 registry center into Seata are very simple, and can be roughly divided into "Adding Maven Dependencies" and "Configuring the Registry Center".
Adding Maven Dependencies
First, you need to add the Maven dependency of jetcd-core
to your project's pom.xml
file. It is recommended to use jetcd-core version 0.3.0+
. The version relationship between spring-cloud-starter-alibaba-seata
and the corresponding microservice version can be found in the Version Description.
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>latest version</version>
</dependency>
<!-- Etcd3 Client Dependency -->
<dependency>
<groupId>io.etcd</groupId>
<artifactId>jetcd-core</artifactId>
<version>0.3.0 or above</version>
</dependency>
Client-side Configuration Center
Add the corresponding configuration center to the application.yml file. For other configurations, please refer to the Configuration Reference.
seata:
config:
type: etcd3
etcd3:
server-addr: http://localhost:2379
Server-side Configuration Center
Add the corresponding configuration center to the registry.conf file. For other configurations, please refer to the Configuration Reference.
config {
type = "etcd3"
etcd3 {
serverAddr = "http://localhost:2379"
}
}
Upload Configuration to Etcd3 Configuration Center
Upload Configuration to Etcd3 via Script
Refer to the config.txt in the repository and make modifications. Then run the provided etcd3 script in the repository to submit the information to the Etcd3 server. If necessary, you can directly modify it through the console.
eg: sh ${SEATAPATH}/script/config-center/etcd3/etcd3-config.sh -h localhost -p 2379
For detailed analysis, please refer to the Readme document
After that, start the Seata-Server and Client (business side) applications. If the Seata-Server and Client (business side) applications have already been started before importing the configuration to Etcd3, they need to be restarted.