You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/03/29 14:47:28 UTC

[GitHub] [apisix] shuaijinchao opened a new pull request #6751: feat(zookeeper): support zookeeper service discovery

shuaijinchao opened a new pull request #6751:
URL: https://github.com/apache/apisix/pull/6751


   ### Description
   
   support zookeeper service discovery
   
   ### Checklist
   
   - [ ] I have explained the need for this PR and the problem it solves
   - [ ] I have explained the changes or the new features added to this PR
   - [ ] I have added tests corresponding to this change
   - [x] I have updated the documentation to reflect this change
   - [ ] I have verified that this change is backward compatible (If not, please discuss on the [APISIX mailing list](https://github.com/apache/apisix/tree/master#community) first)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] shuaijinchao commented on a change in pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
shuaijinchao commented on a change in pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#discussion_r841165918



##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service Discovery Via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How `apisix-seed` Works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time.
+
+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.

Review comment:
       thx~




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] spacewander commented on a change in pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
spacewander commented on a change in pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#discussion_r840986637



##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos

Review comment:
       Bad title

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service Discovery Via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How `apisix-seed` Works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time.
+
+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.

Review comment:
       ```suggestion
   2. `apisix-seed` watches the resource changes of `APISIX` in `etcd` and filters the discovery type and obtains the service name.
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service Discovery Via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How `apisix-seed` Works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time.

Review comment:
       ```suggestion
   `apisix-seed` completes data exchange by watching the changes of `etcd` and `zookeeper` at the same time.
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service Discovery Via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How `apisix-seed` Works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time.
+
+The process is as follows:
+
+1. `APISIX` registers a route and specifies the service discovery type as `zookeeper` to `etcd`.

Review comment:
       Not route, it is upstream.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] shuaijinchao commented on pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
shuaijinchao commented on pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#issuecomment-1085663190


   @hf400159 all updated, please review


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] juzhiyuan commented on a change in pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
juzhiyuan commented on a change in pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#discussion_r841001879



##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service Discovery Via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How `apisix-seed` Works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time.
+
+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.

Review comment:
       Hi @shuaijinchao, to avoid typos, we could use https://www.grammarly.com/ to check our content :)




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] spacewander commented on a change in pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
spacewander commented on a change in pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#discussion_r840986570



##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)

Review comment:
       Sure. And better to avoid adding an uneditable PNG image.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] shuaijinchao commented on a change in pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
shuaijinchao commented on a change in pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#discussion_r841165979



##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service Discovery Via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How `apisix-seed` Works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time.
+
+The process is as follows:
+
+1. `APISIX` registers a route and specifies the service discovery type as `zookeeper` to `etcd`.

Review comment:
       updated

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service Discovery Via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How `apisix-seed` Works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time.

Review comment:
       updated

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos

Review comment:
       updated




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] shuaijinchao commented on a change in pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
shuaijinchao commented on a change in pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#discussion_r841165950



##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service Discovery Via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How `apisix-seed` Works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time.
+
+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.

Review comment:
       updated




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] hf400159 commented on a change in pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
hf400159 commented on a change in pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#discussion_r838073813



##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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

Review comment:
       ```suggestion
   docker run -itd --rm --name=dev-zookeeper -p 2181:2181 zookeeper:3.7.0
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ git clone https://github.com/api7/apisix-seed.git
+$ go build

Review comment:
       ```suggestion
   git clone https://github.com/api7/apisix-seed.git
   go build
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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
+```
+
+4. Modify the `apisix-seed` configuration file.
+
+```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
+```
+
+3. Start `apisix-seed` to monitor service changes
+
+```bash
+$ ./apisix-seed
+```
+
+### Setting apisix route and upstream
+
+Set a route, the request path is `/zk/*`, the upstream uses zookeeper as service discovery, and the service name
+is `APISIX-ZK`.
+
+```shell
+$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d '

Review comment:
       ```suggestion
   curl http://127.0.0.1:9080/apisix/admin/routes/1 \
   -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d '
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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
+```
+
+4. Modify the `apisix-seed` configuration file.
+
+```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
+```
+
+3. Start `apisix-seed` to monitor service changes
+
+```bash
+$ ./apisix-seed
+```
+
+### Setting apisix route and upstream

Review comment:
       ditto

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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
+```
+
+4. Modify the `apisix-seed` configuration file.
+
+```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
+```

Review comment:
       I don't think it's a good idea to put the command and return in the same block of code.

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper

Review comment:
       ditto

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper

Review comment:
       ```suggestion
   ## Service Discovery Via Zookeeper
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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
+```
+
+4. Modify the `apisix-seed` configuration file.
+
+```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
+```
+
+3. Start `apisix-seed` to monitor service changes
+
+```bash
+$ ./apisix-seed

Review comment:
       ```suggestion
   ./apisix-seed
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works

Review comment:
       ```suggestion
   ### How `apisix-seed` Works
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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
+```
+
+4. Modify the `apisix-seed` configuration file.
+
+```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
+```
+
+3. Start `apisix-seed` to monitor service changes
+
+```bash
+$ ./apisix-seed
+```
+
+### Setting apisix route and upstream
+
+Set a route, the request path is `/zk/*`, the upstream uses zookeeper as service discovery, and the service name
+is `APISIX-ZK`.

Review comment:
       ```suggestion
   Set a route, the request path is `/zk/*`, the upstream uses zookeeper as service discovery, and the service name is `APISIX-ZK`.
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)

Review comment:
       I think explaining the architecture diagram can help users understand.

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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
+```
+
+4. Modify the `apisix-seed` configuration file.
+
+```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
+```
+
+3. Start `apisix-seed` to monitor service changes
+
+```bash
+$ ./apisix-seed
+```
+
+### Setting apisix route and upstream
+
+Set a route, the request path is `/zk/*`, the upstream uses zookeeper as service discovery, and the service name
+is `APISIX-ZK`.
+
+```shell
+$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d '
+{
+    "uri": "/zk/*",
+    "upstream": {
+        "service_name": "APISIX-ZK",
+        "type": "roundrobin",
+        "discovery_type": "zookeeper"
+    }
+}'
+```
+
+### Register service and verify request
+
+1. Service registration using Zookeeper CLI
+
+```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
+```

Review comment:
       I don't think it's a good idea to put the command and return in the same block of code.

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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
+```
+
+4. Modify the `apisix-seed` configuration file.
+
+```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
+```
+
+3. Start `apisix-seed` to monitor service changes
+
+```bash
+$ ./apisix-seed
+```
+
+### Setting apisix route and upstream
+
+Set a route, the request path is `/zk/*`, the upstream uses zookeeper as service discovery, and the service name
+is `APISIX-ZK`.
+
+```shell
+$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d '
+{
+    "uri": "/zk/*",
+    "upstream": {
+        "service_name": "APISIX-ZK",
+        "type": "roundrobin",
+        "discovery_type": "zookeeper"
+    }
+}'
+```
+
+### Register service and verify request
+
+1. Service registration using Zookeeper CLI
+
+```bash
+$ docker exec -it ${ContainerID} /bin/bash

Review comment:
       ```suggestion
   docker exec -it ${ContainerID} /bin/bash
   ```

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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
+```
+
+4. Modify the `apisix-seed` configuration file.
+
+```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
+```
+
+3. Start `apisix-seed` to monitor service changes
+
+```bash
+$ ./apisix-seed
+```
+
+### Setting apisix route and upstream
+
+Set a route, the request path is `/zk/*`, the upstream uses zookeeper as service discovery, and the service name
+is `APISIX-ZK`.
+
+```shell
+$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d '
+{
+    "uri": "/zk/*",
+    "upstream": {
+        "service_name": "APISIX-ZK",
+        "type": "roundrobin",
+        "discovery_type": "zookeeper"
+    }
+}'
+```
+
+### Register service and verify request
+
+1. Service registration using Zookeeper CLI
+
+```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
+```
+
+2. Verify request
+
+```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

Review comment:
       ditto

##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+### Setting apisix-seed and zookeeper
+
+The configuration steps are as follows:
+
+1. Download and compile the `apisix-seed` project.
+
+```bash
+$ 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
+```
+
+4. Modify the `apisix-seed` configuration file.
+
+```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
+```
+
+3. Start `apisix-seed` to monitor service changes
+
+```bash
+$ ./apisix-seed
+```
+
+### Setting apisix route and upstream
+
+Set a route, the request path is `/zk/*`, the upstream uses zookeeper as service discovery, and the service name
+is `APISIX-ZK`.
+
+```shell
+$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d '
+{
+    "uri": "/zk/*",
+    "upstream": {
+        "service_name": "APISIX-ZK",
+        "type": "roundrobin",
+        "discovery_type": "zookeeper"
+    }
+}'
+```
+
+### Register service and verify request

Review comment:
       ditto




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] shuaijinchao commented on a change in pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
shuaijinchao commented on a change in pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#discussion_r841165918



##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,144 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service Discovery Via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How `apisix-seed` Works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)
+
+`apisix-seed` completes data exchange by watch the changes of `etcd` and `zookeeper` at the same time.
+
+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.

Review comment:
       @juzhiyuan thx~




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] shuaijinchao commented on a change in pull request #6751: feat(zookeeper): support zookeeper service discovery

Posted by GitBox <gi...@apache.org>.
shuaijinchao commented on a change in pull request #6751:
URL: https://github.com/apache/apisix/pull/6751#discussion_r841166461



##########
File path: docs/en/latest/discovery/zookeeper.md
##########
@@ -0,0 +1,114 @@
+---
+title: nacos
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Service discovery via Zookeeper
+
+`Zookeeper` service discovery needs to rely on the [apisix-seed](https://github.com/api7/apisix-seed) project.
+
+### How apisix-seed works
+
+![APISIX-SEED](../../../assets/images/apisix-seed.png)

Review comment:
       change to `svg`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org