-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(zookeeper): support zookeeper service discovery #6751
feat(zookeeper): support zookeeper service discovery #6751
Conversation
$ git clone https://github.com/api7/apisix-seed.git | ||
$ go build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$ git clone https://github.com/api7/apisix-seed.git | |
$ go build | |
git clone https://github.com/api7/apisix-seed.git | |
go build |
2. Start the Zookeeper service | ||
|
||
```bash | ||
$ docker run -itd --rm --name=dev-zookeeper -p 2181:2181 zookeeper:3.7.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$ docker run -itd --rm --name=dev-zookeeper -p 2181:2181 zookeeper:3.7.0 | |
docker run -itd --rm --name=dev-zookeeper -p 2181:2181 zookeeper:3.7.0 |
|
||
### How apisix-seed works | ||
|
||
![APISIX-SEED](../../../assets/images/apisix-seed.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think explaining the architecture diagram can help users understand.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. And better to avoid adding an uneditable PNG image.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
change to svg
3. Start `apisix-seed` to monitor service changes | ||
|
||
```bash | ||
$ ./apisix-seed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$ ./apisix-seed | |
./apisix-seed |
is `APISIX-ZK`. | ||
|
||
```shell | ||
$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d ' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d ' | |
curl http://127.0.0.1:9080/apisix/admin/routes/1 \ | |
-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d ' |
}' | ||
``` | ||
|
||
### Register service and verify request |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
```bash | ||
$ docker exec -it ${ContainerID} /bin/bash | ||
oot@ae2f093337c1:/apache-zookeeper-3.7.0-bin# ./bin/zkCli.sh | ||
[zk: localhost:2181(CONNECTED) 0] create /zookeeper/APISIX-ZK '{"host":"127.0.0.1:1980","weight":100}' | ||
Created /zookeeper/APISIX-ZK | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it's a good idea to put the command and return in the same block of code.
1. Service registration using Zookeeper CLI | ||
|
||
```bash | ||
$ docker exec -it ${ContainerID} /bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$ docker exec -it ${ContainerID} /bin/bash | |
docker exec -it ${ContainerID} /bin/bash |
curl -i http://127.0.0.1:9080/zk/hello | ||
HTTP/1.1 200 OK | ||
Connection: keep-alive | ||
Content-Type: text/html; charset=utf-8 | ||
Date: Tue, 29 Mar 2022 08:51:28 GMT | ||
Server: APISIX/2.12.0 | ||
Transfer-Encoding: chunked | ||
|
||
hello |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
```bash | ||
$ vim conf/conf.yaml | ||
etcd: # APISIX ETCD Configure | ||
host: | ||
- "http://127.0.0.1:2379" | ||
prefix: /apisix | ||
timeout: 30 | ||
|
||
discovery: | ||
zookeeper: # Zookeeper Service Discovery | ||
hosts: | ||
- "127.0.0.1:2181" | ||
prefix: /zookeeper | ||
weight: 100 # default weight for node | ||
timeout: 10 # default 10s | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it's a good idea to put the command and return in the same block of code.
@hf400159 all updated, please review |
@@ -0,0 +1,144 @@ | |||
--- | |||
title: nacos |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bad title
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
|
||
![APISIX-SEED](../../../assets/images/apisix-seed.png) | ||
|
||
`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time. | |
`apisix-seed` completes data exchange by watching the changes of `etcd` and `zookeeper` at the same time. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
|
||
The process is as follows: | ||
|
||
1. `APISIX` registers a route and specifies the service discovery type as `zookeeper` to `etcd`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not route, it is upstream.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
The process is as follows: | ||
|
||
1. `APISIX` registers a route and specifies the service discovery type as `zookeeper` to `etcd`. | ||
2. `apisix-seed` watch the resource changes of `APISIX` in `etcd` and filters the discovery type and obtains the service name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2. `apisix-seed` watch the resource changes of `APISIX` in `etcd` and filters the discovery type and obtains the service name. | |
2. `apisix-seed` watches the resource changes of `APISIX` in `etcd` and filters the discovery type and obtains the service name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @shuaijinchao, to avoid typos, we could use https://www.grammarly.com/ to check our content :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@juzhiyuan thx~
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
docs/assets/images/apisix-seed.svg
Outdated
@@ -0,0 +1,3 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="833px" height="322px" viewBox="-0.5 -0.5 833 322" content="<mxfile host="Electron" modified="2022-04-03T05:49:18.486Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/17.2.4 Chrome/96.0.4664.174 Electron/16.1.0 Safari/537.36" etag="wXR8hLJQ5RhEoX-8Eujk" version="17.2.4" type="device"><diagram id="229I2xH1ZpOIAD6xua3H" name="第 1 页">5Vpbc5s4FP41zHQf3EESYPzoOE6b3exMp8lOk7zJIANbQBTkxO6vr2TETWDHFxxnkhcbHV0sne87n46ENTSJll9SnPj/UpeEGtTdpYYuNQjBCCH+JSyr3GKPYG7w0sCVjSrDbfCbSKMurYvAJVmjIaM0ZEHSNDo0jonDGjacpvS52WxOw+avJtgjLcOtg8O29UfgMl+uAg4r+1cSeH7xy8Aa5TURLhrLlWQ+dulzzYSmGpqklLL8KVpOSCicV/gl73e1obacWEpitkuH77/w47Xxz+UUPd7rd3+TH3GEBsXknnC4kCsef7u+vb4f3E6nl3LibFV4I6WL2CViQKChi2c/YOQ2wY6ofeb4c5vPolBWZyylP0uv8fVezGnMrnAUhIIMd9inERbWIAwnNKTp+jeQaxLbNcr+tRobzpBl8Ro5Z5IystzoDVD6mJOT0IiwdMWbyA7IkCuXvASWLD9XKAMkbX4NYVPasCSWVw5d+Z4/SPfvAwVquZu4nIuySFPmU4/GOJxW1osKEJ2XqjY3lCYShv8JYysZWHjBaBMksgzYfe35QQz12ZSly6UceV1YFYWYr7fsJAq1XqJYdVuXin7d8LdpkvtBLH47uNxXdJE6ZJtTC83AqUfYtoawmy4pCTELnpoz6cJ+3XWcpnhVa5DQIGZZbeRvwlCx0EJNFhqmEsNq++Fx7ZFhKjzNZ1yxtlz6EUQGGzTlPHKCiT13uuTEcmwym/cjJyZQgEHnlhNkn1NOKgl5qNW8ICc1BXloCMjbkRO4q5xsoMvOcnIU9obVisChNkWarWs2+E7mKcl8kaKQiMpfU2lyg2c8kWtAi8PAi/mzw71GeAhdiIAJeKY0lhVR4Lo5i0gW/Maz9XgCKKmCfHDzQjMvN0K3MQ5lcieHrFKqOoRbgmBj1A70zzAXxD11vhLaogmdzzPOCBW5PuQUtsCc3k3OlJudRUwRPLeYQqOFQTtsYncsDhwiREKcZYHTdHlTWw/NoXYFrluIS+3tFOKzCKXeTYUa1OYWpA8N24JplsI0oDAoX6jstSXRMmzlODFSBsod0RqoN5EwWwR9pJwoJOFS/X6VApj2W1OKYe9KUUTyHie0nVXiwNSrT6XQd1UK85xKgZCpBPjwMKWAykAIKAOdWCmM484F4MhzwSHXDLr25q8Z7CNJfNprBgDVawNzK0fV9q9zbWC3lHNyc/2BNq83cGfQziJ62rz2uV48dvMCL+hDn3Fv7hr3Z01zoa2mSdZhmxdS0lwIlIFOvXl1ncOskAnWJDhuMNX6tRCvVtbkGWTrjWnMGwCYLPnXmgf6DDs/vTVjB04e5KJJ6s0+QbFP8sXyeerQGFXPpv5XNTZ/8sS3Wd6ufBGXAHpG0qeAMwfqjo9jj2TFLPmq84nm/Tq34vdy97Jhq6vuXnSAmrwcgF7ormRqsNn/dDc1qPfcf38p3C9VOuS6tk/53Dn3h+eUTwONFNUbHSafpj5s6vBry2d7f7dK5fovcTETkkWY475rYRq+JExwNLSawmT0sw+/mhKNWkCD2gsAL8gEWnw9dCEgV7Dmnmang1kcDvPtuJaiFyl2TGOi5OOFaT927J6Gt96RDjvScNChLvBUaXjx14QaerBE74qHp3h54waZQ/nCxUrYKhGBi2O3kXvEOPro4JrKSRZ2nLGg8argtt+Oo67QrGAMhUnktuSJyH3h4wIK9JcBBfarAgpbgBpdgFLxsSg22RLeD43mwIRN7R11oDnsB01erP5sl2+01V8W0fQP</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs><style type="text/css">@import url(https://fonts.googleapis.com/css?family=Nanum+Gothic);
</style></defs><g><rect x="392" y="1" width="130" height="50" rx="7.5" ry="7.5" fill="#d5e8d4" stroke="#82b366" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 26px; margin-left: 393px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">APISIX-SEED</div></div></div></foreignObject><text x="457" y="30" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">APISIX-SEED</text></switch></g><path d="M 692 296 L 682 296 L 682 291 L 722 291 L 722 186 L 700.24 186" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 694.24 186 L 702.24 182 L 700.24 186 L 702.24 190 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="562" y="271" width="130" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 296px; margin-left: 563px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">APISIX</div></div></div></foreignObject><text x="627" y="300" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">APISIX</text></switch></g><path d="M 627 211 L 627 262.76" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 627 268.76 L 623 260.76 L 627 262.76 L 631 260.76 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 235px; margin-left: 628px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">7、Refresh memory</div></div></div></foreignObject><text x="628" y="238" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="11px" text-anchor="middle">7、Refresh memory</text></switch></g><rect x="562" y="161" width="130" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 186px; margin-left: 563px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">ETCD</div></div></div></foreignObject><text x="627" y="190" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">ETCD</text></switch></g><path d="M 627 161 L 527.06 32.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 523.37 27.76 L 531.44 31.62 L 527.06 32.5 L 525.13 36.54 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="210" y="161" width="130" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 186px; margin-left: 211px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Zookeeper</div></div></div></foreignObject><text x="275" y="190" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">Zookeeper</text></switch></g><path d="M 392 26 L 280.39 154.78" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 276.46 159.31 L 278.68 150.65 L 280.39 154.78 L 284.73 155.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 210 296 L 182 296 Q 172 296 172 286 L 172 196 Q 172 186 182 186 L 201.76 186" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 207.76 186 L 199.76 190 L 201.76 186 L 199.76 182 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="210" y="271" width="130" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 296px; margin-left: 211px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CLI</div></div></div></foreignObject><text x="275" y="300" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">CLI</text></switch></g><path d="M 340 186 L 451.61 57.22" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 455.54 52.69 L 453.32 61.35 L 451.61 57.22 L 447.27 56.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 133px; margin-left: 404px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><span style="font-size: 12px ; background-color: rgb(248 , 249 , 250)">5、Get service changes</span></div></div></div></foreignObject><text x="404" y="136" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="11px" text-anchor="middle">5、Get service changes</text></switch></g><path d="M 457 51 L 556.94 179.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 560.63 184.24 L 552.56 180.38 L 556.94 179.5 L 558.87 175.46 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 101px; margin-left: 493px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">6、Update etcd</div></div></div></foreignObject><text x="493" y="105" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="11px" text-anchor="middle">6、Update etcd</text></switch></g><rect x="722" y="211" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 221px; margin-left: 777px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">1、Register route</div></div></div></foreignObject><text x="777" y="225" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">1、Register route</text></switch></g><rect x="572" y="71" width="240" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 81px; margin-left: 692px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">2、Fetch discovery type and service name</div></div></div></foreignObject><text x="692" y="85" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">2、Fetch discovery type and service name</text></switch></g><rect x="152" y="71" width="180" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 81px; margin-left: 242px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">3、Register service listen event</div></div></div></foreignObject><text x="242" y="85" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">3、Register service listen event</text></switch></g><rect x="0" y="231" width="170" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 241px; margin-left: 85px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">4、Register or update service</div></div></div></foreignObject><text x="85" y="245" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">4、Register or update service</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some arrows are pointing in the wrong direction, like zookeeper gets service from seed...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
docs/assets/images/apisix-seed.svg
Outdated
@@ -0,0 +1,3 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="686px" height="322px" viewBox="-0.5 -0.5 686 322" content="<mxfile host="Electron" modified="2022-04-06T02:22:41.679Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/17.2.4 Chrome/96.0.4664.174 Electron/16.1.0 Safari/537.36" etag="euXTh_QUrkwchpiIlyS1" version="17.2.4" type="device"><diagram id="229I2xH1ZpOIAD6xua3H" name="第 1 页">7Vpbc5s4FP41zHQf3AEJMH50HKebbnam06TTJG8yyMAGEAXZsffXVwJxEWDHDr5kvPtio6MbR+fTdy62Aifh6kuCYu9v4uBAAaqzUuC1AoCmqSb74pJ1LrFGIBe4ie+IQZXg3v8XC6EqpAvfwak0kBISUD+WhTaJImxTSYaShLzKw+YkkHeNkYtbgnsbBW3pT9+hntACDCv5n9h3vWJnzRzlPSEqBgtNUg855LUmglMFThJCaP4UriY44IdXnEs+72ZDb/liCY7oLhO+/0LPt/pf11P4/Kg+fMU/oxAOipdbomAhNB5/u72/fRzcT6fX4sXpujiNhCwiB/MFNQVevXo+xfcxsnnvK7M/k3k0DER3ShPyUp4a0/dqTiJ6g0I/4GB4QB4JEZf6QTAhAUmyPaBjYMvRy/m1HgvMoGmynrbq4jSWOKF4VROJo/iCSYhpsmZDRC/UheYCl5op2q+VlTUoZF7NwoaQIQEst1y6Onv2II5/H1PA1nFjh2FRNElCPeKSCAXTSnpVGURlrWrMHSGxMMM/mNK1uFhoQYlsJLzy6WPt+Ykv9dkQreuVWDlrrItGxPQtJ/FGbRZvVtOyVjGv2/xtmGw0b0oWiY23nWFBEShxMd02ULAQP+GtcElwgKi/lNmgy/bZ1HGSoHVtQEz8iKa1lb9xQYVCE8oo1I3GHW6OH/YbD3WjgdP8jSvUlqrvBOSX59l0Oban7hrd3MVw/OPZigajFqUowAwoN3WMIgnh5q8Fp78MGYO5gMZY4axkojDOsAAhJwOaw6Up5kOzz2yFNEM5n6+BeFX2zZD94mY3ZWDnbMKHJO7sE9CtbDOmqAr0UfVsqH9Ub8eeXP6tKVOoWKpiad+x66cUJ3wZsqC4UJCdV65jPqHzQt+hGfOR0iVEge9G7NlmgGeLwivOYz5zQmPREfqOk993zHREs2w9rp0AGFvcuFKM63LPFhGWHlJMrvxS/Z5tIaaNTKp+Zs7akGA2EFvud3la6B3JE8h8nrJL3eTZ/RC7lTZaXvA8DhBha253OUDTtvBsfhgHaGgNKoHndoDQOqcDrJzeU63nDQdY83lPkss7mwMEuzpA7dAOsJftdbN1A4c1tp0z3vN4UI1DInY7Ma12m25HBi2QvTMrb7y1A8a2Rj9yPQGdgpYxpw+TM2UTZyFTCM5NpgVKajZ4JuwAcMyjlos1hGZYH80Qw45wuMlfkTPmtQrOVQFKU9+Wj1x2cqXH2iNl29Vo7/VsPTyWuqvHMnb0WDVTG1ss3TM4hVCOebXRUF4i11zM2pKjgcZCUGsslJ9Ma6FDpWtd+LyIdA12pWspTpY+AyRQAy7i+uElB+1FZ3DDt4IKTTc1CYUD/SC3pKS/40cder/0QeuZPrynfqYqH61+Zh2ajI9bP9NAsx4m1bfeHH+SelgR/F8cwepdBEv4xyJ2EK+KVXR7weyaE8+W+piqqXJU2rM8doIMro3Zyd3tfyhv+ADVsIPnDfvnAPu5p/dU0k6RN4APlTfocCQhjSUO78sbDHXYyBvMY+UN3bTXrjCYpUP4UTgATG3nHDTfr15X3L2D1OtGQ/MYoTU4QmDdGb/AQxNRr5L7nr85b4qOG2xwktrF2ShHlaNeAzSc1q6UU/zcXHrJYWOhI5cq9A4kXkQkbZTEecMI05PqFLaHIhenlxJCb6aYrRG0AWQO/UghdKdKbe948PCt13933lXgPTFrgv9Z8wBIbP+0eiGsCVqs6fipTRgxcZTQdczpE0WORKcRCi+mHLGZeLYFpKo1lMkUHuS+NFBeEGAfpmXN6v+x+fDqX8Zw+hs=</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs/><g><rect x="299" y="1" width="130" height="50" rx="7.5" ry="7.5" fill="#d5e8d4" stroke="#82b366" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 26px; margin-left: 300px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">APISIX-SEED</div></div></div></foreignObject><text x="364" y="30" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">APISIX-SEED</text></switch></g><path d="M 599 296 L 589 296 L 589 291 L 629 291 L 629 186 L 607.24 186" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 601.24 186 L 609.24 182 L 607.24 186 L 609.24 190 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 232px; margin-left: 640px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><span style="font-family: "tahoma" ; font-size: 12px ; background-color: rgb(248 , 249 , 250)">1、Register route</span></div></div></div></foreignObject><text x="640" y="235" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">1、Register route</text></switch></g><rect x="469" y="271" width="130" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 296px; margin-left: 470px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">APISIX</div></div></div></foreignObject><text x="534" y="300" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">APISIX</text></switch></g><path d="M 534 211 L 534 262.76" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 534 268.76 L 530 260.76 L 534 262.76 L 538 260.76 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 235px; margin-left: 535px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">7、Refresh memory</div></div></div></foreignObject><text x="535" y="238" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="11px" text-anchor="middle">7、Refresh memory</text></switch></g><rect x="469" y="161" width="130" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 186px; margin-left: 470px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">ETCD</div></div></div></foreignObject><text x="534" y="190" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">ETCD</text></switch></g><rect x="117" y="161" width="130" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 186px; margin-left: 118px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Zookeeper</div></div></div></foreignObject><text x="182" y="190" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">Zookeeper</text></switch></g><path d="M 299 26 L 187.39 154.78" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 183.46 159.31 L 185.68 150.65 L 187.39 154.78 L 191.73 155.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 81px; margin-left: 220px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><span style="font-family: "tahoma" ; font-size: 12px ; background-color: rgb(248 , 249 , 250)">3、Register service listen event</span></div></div></div></foreignObject><text x="220" y="85" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">3、Register service listen event</text></switch></g><path d="M 117 296 L 89 296 Q 79 296 79 286 L 79 196 Q 79 186 89 186 L 108.76 186" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 114.76 186 L 106.76 190 L 108.76 186 L 106.76 182 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 241px; margin-left: 79px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><span style="font-family: "tahoma" ; font-size: 12px ; background-color: rgb(248 , 249 , 250)">4、Register or update service</span></div></div></div></foreignObject><text x="79" y="244" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">4、Register or update service</text></switch></g><rect x="117" y="271" width="130" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 296px; margin-left: 118px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CLI</div></div></div></foreignObject><text x="182" y="300" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="12px" text-anchor="middle">CLI</text></switch></g><path d="M 364 51 L 463.94 179.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 467.63 184.24 L 459.56 180.38 L 463.94 179.5 L 465.87 175.46 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 101px; margin-left: 400px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Tahoma; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">6、Update etcd</div></div></div></foreignObject><text x="400" y="105" fill="rgb(0, 0, 0)" font-family="Tahoma" font-size="11px" text-anchor="middle">6、Update etcd</text></switch></g><path d="M 364 51 L 252.39 179.78" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 248.46 184.31 L 250.68 175.65 L 252.39 179.78 L 256.73 180.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 120px; margin-left: 304px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><span style="font-family: "tahoma" ; font-size: 12px ; background-color: rgb(248 , 249 , 250)">5、Fetch service changes</span></div></div></div></foreignObject><text x="304" y="123" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">5、Fetch service changes</text></switch></g><path d="M 429 26 L 528.94 154.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 532.63 159.24 L 524.56 155.38 L 528.94 154.5 L 530.87 150.46 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 81px; margin-left: 530px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><span style="font-family: "tahoma" ; font-size: 12px ; background-color: rgb(248 , 249 , 250)">2、Fetch discovery type and service name</span></div></div></div></foreignObject><text x="530" y="85" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">2、Fetch discovery type and service name</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A tiny issue: etcd doesn't refresh memory of APISIX
Description
support zookeeper service discovery
Checklist