Now that you‘ve seen two multiple data center
architectures of the Service Center, we’ll show you how to implement micro-service cross data center access with the java-chassis
framework.
Let's assume you want to install 2 clusters of Service-Center in different DCs with following details.
Cluster | Datacenter | Address |
---|---|---|
sc-1 | dc-1 | 10.12.0.1 |
sc-2 | dc-2 | 10.12.0.2 |
Edit the configuration of the ip/port on which SC will run in dc-1. And here we assume your etcd is running on http://127.0.0.1:2379 (you can follow this guide to install etcd in cluster mode.)
vi conf/app.conf # Replace the below values httpaddr = 10.12.0.1 discovery_plugin = aggregate aggregate_mode = "etcd,servicecenter" manager_name = "sc-1" manager_addr = "http://127.0.0.1:2379" manager_cluster = "sc-1=http://10.12.0.1:30100,sc-2=http://10.12.0.2:30100" # Start the Service-center ./service-center
Notes:
manager_name
is the alias of the data center. manager_addr
is the etcd cluster client urls. manager_cluster
is the full Service Center clusters list.httpaddr
value to 10.12.0.2
.We recommend that you use scctl
, and using cluster command
which makes it very convenient to verify OK.
scctl --addr http://10.12.0.3:30100 get cluster # CLUSTER | ENDPOINTS # +---------+-------------------------+ # sc-1 | http://10.12.0.1:30100 # sc-2 | http://10.12.0.2:30100
Here we show a java
example of multiple datacenters access, where we use an example
, assuming that below.
Microservice | Datacenter | Address |
---|---|---|
Client | dc-1 | 10.12.0.4 |
Server | dc-2 | 10.12.0.5 |
Edit the configuration of the ip/port on which springmvc-server
will register.
vi src/main/resources/microservice.yaml
Replace the below values
cse: service: registry: address: http://10.12.0.2:30100 # the address of SC in dc-2
Run the Server
mvn clean install java -jar target/springmvc-server-0.0.1-SNAPSHOT.jar
Edit the configuration of the ip/port on which springmvc-client
will register.
vi src/main/resources/microservice.yaml
Replace the below values
cse: service: registry: address: http://10.12.0.1:30100 # the address of SC in dc-1
Run the Client
mvn clean install java -jar target/springmvc-client-0.0.1-SNAPSHOT.jar
Since springmvc-client
is not a service, we check its running log.
... [2018-10-19 23:04:42,800/CST][main][INFO]............. test finished ............ org.apache.servicecomb.demo.TestMgr.summary(TestMgr.java:83)