From 4036b2a5c0bdf9ee2b63112234b3f90eb4d0903d Mon Sep 17 00:00:00 2001 From: soulbird Date: Tue, 26 Apr 2022 17:32:46 +0800 Subject: [PATCH 1/8] chore: add readme --- .gitignore | 1 + README.md | 50 +++++++++++++++++++- docs/assets/images/apisix-seed overview.png | Bin 0 -> 106520 bytes docs/assets/images/apisix-seed workflow.png | Bin 0 -> 75081 bytes 4 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 docs/assets/images/apisix-seed overview.png create mode 100644 docs/assets/images/apisix-seed workflow.png diff --git a/.gitignore b/.gitignore index f3458df..58df984 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea +.DS_Store # Binaries for programs and plugins *.exe diff --git a/README.md b/README.md index 8955103..ebf2834 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,48 @@ -# apisix-seed -Do service discovery on the CP side +# APISIX-Seed for Apache APISIX +[![Go Report Card](https://goreportcard.com/badge/github.com/api7/apisix-seed)](https://goreportcard.com/report/github.com/api7/apisix-seed) +[![Build Status](https://github.com/api7/apisix-seed/workflows/unit-test-ci/badge.svg?branch=main)](https://github.com/api7/apisix-seed/actions) +[![Codecov](https://codecov.io/gh/api7/apisix-seed/branch/main/graph/badge.svg)](https://codecov.io/gh/api7/apisix-seed) + +Do service discovery for Apache APISIX on the Control Plane + +# What's APISIX-Seed +Apache APISIX is a dynamic, real-time, high-performance API gateway. + +In terms of architecture design, Apache APISIX is divided into two parts: data plane and control plane. The data plane is Apache APISIX itself, which is the component of the traffic proxy, offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging. +The control plane is mainly used to manage routing, and implement the configuration center through etcd. + +For cloud native gateways, it is necessary to dynamically obtain the latest service instance information (service discovery) through the service registry. Currently, Apache APISIX already supports this feature in the data plane. + +This project is a component of Apache APISIX to implement service discovery in the control plane, and supports cluster deployment. At present, we have supported zookeeper and nacos. We will also support more service registries. + +The following figure is the topology diagram of APISIX-Seed deployment. + +![apisix-seed overview](docs/assets/images/apisix-seed%20overview.png) + +# Why APISIX-Seed +- Network topology becomes simpler + +> Apache APISIX does not need to maintain a network connection with each registry, and only needs to pay attention to the configuration information in Etcd. This will greatly simplify the network topology. + +- Total data volume about upstream service becomes smaller +> Due to the characteristics of the registry, Apache APISIX may store the full amount of registry service data in the worker, such as consul_kv. By introducing APISIX-Seed, each process of Apache APISIX will not need to additionally cache upstream service-related information + +- Easier to manage +> Service discovery configuration needs to be configured once per APISIX instance. By introducing APISIX-Seed,Apache APISIX will be indifferent to the configuration changes of the service registry + +# How it works +We use the go language to implement APISIX-Seed. The flow diagram: + +![apisix-seed flow diagram](docs/assets/images/apisix-seed%20workflow.png) + +APISIX-Seed completes data exchange by watching the changes of etcd and service registry at the same time. + +The process is as follows: + +- Apache APISIX registers an upstream and specifies the service discovery type to etcd. +- APISIX-Seed watches the resource changes of Apache APISIX in etcd and filters the discovery type and obtains the service name. +- APISIX-Seed binds the service to the etcd resource and starts watching the service in the service registry. +- The client registers the service in the service registry. +- APISIX-Seed gets the service changes in the service registry. +- APISIX-Seed queries the bound etcd resource information through the service name, and writes the updated service node to etcd. +- The Apache APISIX worker watches etcd changes and refreshes the service node information to the memory. diff --git a/docs/assets/images/apisix-seed overview.png b/docs/assets/images/apisix-seed overview.png new file mode 100644 index 0000000000000000000000000000000000000000..dae0e8d882ebef3530838c602648cd18122b4ea5 GIT binary patch literal 106520 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%0A0>3&i<4@@-TE7(_NUzdLlx55O|jXy+6rXjw~n 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 Date: Tue, 26 Apr 2022 17:53:14 +0800 Subject: [PATCH 2/8] fix sytax --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ebf2834..c8fd953 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,12 @@ Do service discovery for Apache APISIX on the Control Plane # What's APISIX-Seed Apache APISIX is a dynamic, real-time, high-performance API gateway. -In terms of architecture design, Apache APISIX is divided into two parts: data plane and control plane. The data plane is Apache APISIX itself, which is the component of the traffic proxy, offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging. +In terms of architecture design, Apache APISIX is divided into two parts: data plane and control plane. The data plane is Apache APISIX itself, which is the component of the traffic proxy and offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations and logging. The control plane is mainly used to manage routing, and implement the configuration center through etcd. -For cloud native gateways, it is necessary to dynamically obtain the latest service instance information (service discovery) through the service registry. Currently, Apache APISIX already supports this feature in the data plane. +For cloud-native gateways, it is necessary to dynamically obtain the latest service instance information (service discovery) through the service registry. Currently, Apache APISIX already supports this feature in the data plane. -This project is a component of Apache APISIX to implement service discovery in the control plane, and supports cluster deployment. At present, we have supported zookeeper and nacos. We will also support more service registries. +This project is a component of Apache APISIX to implement service discovery in the control plane. It supports cluster deployment. At present, we have supported zookeeper and nacos. We will also support more service registries. The following figure is the topology diagram of APISIX-Seed deployment. @@ -28,7 +28,7 @@ The following figure is the topology diagram of APISIX-Seed deployment. > Due to the characteristics of the registry, Apache APISIX may store the full amount of registry service data in the worker, such as consul_kv. By introducing APISIX-Seed, each process of Apache APISIX will not need to additionally cache upstream service-related information - Easier to manage -> Service discovery configuration needs to be configured once per APISIX instance. By introducing APISIX-Seed,Apache APISIX will be indifferent to the configuration changes of the service registry +> Service discovery configuration needs to be configured once per APISIX instance. By introducing APISIX-Seed, Apache APISIX will be indifferent to the configuration changes of the service registry # How it works We use the go language to implement APISIX-Seed. The flow diagram: From e075d3b7f46f23c28d83ca4aa3d87ff2f277c689 Mon Sep 17 00:00:00 2001 From: soulbird Date: Tue, 26 Apr 2022 18:05:00 +0800 Subject: [PATCH 3/8] add link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c8fd953..526bd38 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,12 @@ Do service discovery for Apache APISIX on the Control Plane # What's APISIX-Seed -Apache APISIX is a dynamic, real-time, high-performance API gateway. +[Apache APISIX](https://github.com/apache/apisix) is a dynamic, real-time, high-performance API gateway. In terms of architecture design, Apache APISIX is divided into two parts: data plane and control plane. The data plane is Apache APISIX itself, which is the component of the traffic proxy and offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations and logging. The control plane is mainly used to manage routing, and implement the configuration center through etcd. -For cloud-native gateways, it is necessary to dynamically obtain the latest service instance information (service discovery) through the service registry. Currently, Apache APISIX already supports this feature in the data plane. +For cloud-native gateways, it is necessary to dynamically obtain the latest service instance information (service discovery) through the service registry. Currently, Apache APISIX already supports [service discovery](https://github.com/apache/apisix/blob/master/docs/en/latest/discovery.md) in the data plane. This project is a component of Apache APISIX to implement service discovery in the control plane. It supports cluster deployment. At present, we have supported zookeeper and nacos. We will also support more service registries. From c47b7ce48f0501c85ebe1a994b473c3eac8514a4 Mon Sep 17 00:00:00 2001 From: soulbird Date: Tue, 26 Apr 2022 21:32:02 +0800 Subject: [PATCH 4/8] add Development for readme --- README.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/README.md b/README.md index 526bd38..7459d59 100644 --- a/README.md +++ b/README.md @@ -46,3 +46,86 @@ The process is as follows: - APISIX-Seed gets the service changes in the service registry. - APISIX-Seed queries the bound etcd resource information through the service name, and writes the updated service node to etcd. - The Apache APISIX worker watches etcd changes and refreshes the service node information to the memory. + +# Development +The following will take the nacos service registry as an example to show how to deploy and use APISIX-Seed to complete service discovery. Before starting, please make sure that you have installed Apache APISIX correctly. And make sure it can work properly. + +## step 1: Deploy Nacos +Quickly deploy Nacos using the Nacos Docker image: +```bash +docker run --name nacos-quick -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:2.0.2 +``` + +## step 2: Install APISIX-Seed +Download and build APISIX-Seed: +```bash +git clone https://github.com/api7/apisix-seed.git +cd apisix-seed +make build && make install +``` + +The default configuration file is in `/usr/local/apisix-seed/conf/conf.yaml` with the following contents: +```yaml +etcd: # APISIX etcd Configure + host: + - "http://127.0.0.1:2379" + prefix: /apisix + timeout: 30 + +discovery: # service discovery center + nacos: + host: # it's possible to define multiple nacos hosts addresses of the same nacos cluster. + - "http://127.0.0.1:8848" + prefix: /nacos + weight: 100 # default weight for node + timeout: + connect: 2000 # default 2000ms + send: 2000 # default 2000ms + read: 5000 # default 5000ms +``` +You can easily understand each configuration item, we will not explain it additionally. + +start APISIX-Seed: +```bash +APISIX_SEED_WORKDIR /usr/local/apisix-seed /usr/local/apisix-seed/apisix-seed +``` + +## step 3: Register the upstream service + +start the httpbin service via Docker: +```bash +docker run -d -p 8080:80 --rm kennethreitz/httpbin +``` + +register the service to Nacos: +```bash +curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=httpbin&ip=127.0.0.1&port=8080' +``` + +## step 4: Verify in Apache APISIX + +start Apache APISIX with default configuration: +```bash +apisix start +``` + +create a Route through the Admin API interface of Apache APISIX: +```bash +curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d ' +{ + "uris": "/*", + "hosts": [ + "httpbin" + ], + "upstream": { + "discovery_type": "nacos", + "service_name": "httpbin", + "type": "roundrobin" + } +}' +``` + +send a request to confirm whether service discovery is in effect: +```bash +curl http://127.0.0.1:9080/get -H 'Host: httpbin' +``` From d24a539b26cac1289e1a61c0f92104a683a5cba4 Mon Sep 17 00:00:00 2001 From: soulbird Date: Tue, 26 Apr 2022 21:33:36 +0800 Subject: [PATCH 5/8] fix cmd --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7459d59..690fbc0 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ You can easily understand each configuration item, we will not explain it additi start APISIX-Seed: ```bash -APISIX_SEED_WORKDIR /usr/local/apisix-seed /usr/local/apisix-seed/apisix-seed +APISIX_SEED_WORKDIR=/usr/local/apisix-seed /usr/local/apisix-seed/apisix-seed ``` ## step 3: Register the upstream service From fbd9dc81187994cdae1b42c6fdd3b2c17bb19ebd Mon Sep 17 00:00:00 2001 From: soulbird Date: Tue, 26 Apr 2022 21:37:52 +0800 Subject: [PATCH 6/8] fix something --- README.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 690fbc0..6cdc32b 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Do service discovery for Apache APISIX on the Control Plane # What's APISIX-Seed [Apache APISIX](https://github.com/apache/apisix) is a dynamic, real-time, high-performance API gateway. -In terms of architecture design, Apache APISIX is divided into two parts: data plane and control plane. The data plane is Apache APISIX itself, which is the component of the traffic proxy and offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations and logging. +In terms of architecture design, Apache APISIX is divided into two parts: data plane and control plane. The data plane is Apache APISIX itself, which is the component of the traffic proxy and offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformation and logging. The control plane is mainly used to manage routing, and implement the configuration center through etcd. For cloud-native gateways, it is necessary to dynamically obtain the latest service instance information (service discovery) through the service registry. Currently, Apache APISIX already supports [service discovery](https://github.com/apache/apisix/blob/master/docs/en/latest/discovery.md) in the data plane. @@ -22,7 +22,7 @@ The following figure is the topology diagram of APISIX-Seed deployment. # Why APISIX-Seed - Network topology becomes simpler -> Apache APISIX does not need to maintain a network connection with each registry, and only needs to pay attention to the configuration information in Etcd. This will greatly simplify the network topology. +> Apache APISIX does not need to maintain a network connection with each registry, and only needs to pay attention to the configuration information in etcd. This will greatly simplify the network topology. - Total data volume about upstream service becomes smaller > Due to the characteristics of the registry, Apache APISIX may store the full amount of registry service data in the worker, such as consul_kv. By introducing APISIX-Seed, each process of Apache APISIX will not need to additionally cache upstream service-related information @@ -39,13 +39,19 @@ APISIX-Seed completes data exchange by watching the changes of etcd and service The process is as follows: -- Apache APISIX registers an upstream and specifies the service discovery type to etcd. -- APISIX-Seed watches the resource changes of Apache APISIX in etcd and filters the discovery type and obtains the service name. -- APISIX-Seed binds the service to the etcd resource and starts watching the service in the service registry. -- The client registers the service in the service registry. -- APISIX-Seed gets the service changes in the service registry. -- APISIX-Seed queries the bound etcd resource information through the service name, and writes the updated service node to etcd. -- The Apache APISIX worker watches etcd changes and refreshes the service node information to the memory. +1、Apache APISIX registers an upstream and specifies the service discovery type to etcd. + +2、APISIX-Seed watches the resource changes of Apache APISIX in etcd and filters the discovery type and obtains the service name. + +3、APISIX-Seed binds the service to the etcd resource and starts watching the service in the service registry. + +4、The client registers the service in the service registry. + +5、APISIX-Seed gets the service changes in the service registry. + +6 、APISIX-Seed queries the bound etcd resource information through the service name, and writes the updated service node to etcd. + +7、The Apache APISIX worker watches etcd changes and refreshes the service node information to the memory. # Development The following will take the nacos service registry as an example to show how to deploy and use APISIX-Seed to complete service discovery. Before starting, please make sure that you have installed Apache APISIX correctly. And make sure it can work properly. From f9cf03498d484e627b6dbd8c4f253f304ee02952 Mon Sep 17 00:00:00 2001 From: soulbird Date: Tue, 26 Apr 2022 21:48:22 +0800 Subject: [PATCH 7/8] add svg --- README.md | 2 +- docs/assets/images/apisix-seed workflow.png | Bin 75081 -> 0 bytes docs/assets/images/apisix-seed workflow.svg | 4 ++++ 3 files changed, 5 insertions(+), 1 deletion(-) delete mode 100644 docs/assets/images/apisix-seed workflow.png create mode 100644 docs/assets/images/apisix-seed workflow.svg diff --git a/README.md b/README.md index 6cdc32b..96ed280 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ The following figure is the topology diagram of APISIX-Seed deployment. # How it works We use the go language to implement APISIX-Seed. The flow diagram: -![apisix-seed flow diagram](docs/assets/images/apisix-seed%20workflow.png) +![apisix-seed flow diagram](docs/assets/images/apisix-seed%20workflow.svg) APISIX-Seed completes data exchange by watching the changes of etcd and service registry at the same time. diff --git a/docs/assets/images/apisix-seed workflow.png b/docs/assets/images/apisix-seed workflow.png deleted file mode 100644 index 195c9dda90e89881aa325e8515e624f0e81836aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75081 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 + + +
Service Registry
Service Registry
3. Register service listen event
3. Register service listen event
4. Register or update service
4. Register or update service
CLI
CLI
6. Update etcd
6. Update etcd
5. Fetch service changes
5. Fetch service changes
2. Fetch discovery type and service name
2. Fetch discovery type and service name
etcd
etcd
etcd
etcd
etcd
etcd
Apache APISIX
Apache APISIX
Apache APISIX
Apache APISIX
Apache APISIX
Apache APISIX
Apache APISIX
Apache APISIX
Apache APISIX
Apache APISIX
APISIX-Seed
APISIX-Seed
APISIX-Seed
APISIX-Seed
APISIX-Seed
APISIX-Seed
1. Register route
1. Register route
7. Fetch changes  & refresh memory
7. Fetch changes  & refresh memory
Text is not SVG - cannot display
\ No newline at end of file From 91afd1590c53ebf0fa9a87fabf58b558ec5804d5 Mon Sep 17 00:00:00 2001 From: soulbird Date: Wed, 27 Apr 2022 18:21:44 +0800 Subject: [PATCH 8/8] change something --- README.md | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 96ed280..6422b29 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Build Status](https://github.com/api7/apisix-seed/workflows/unit-test-ci/badge.svg?branch=main)](https://github.com/api7/apisix-seed/actions) [![Codecov](https://codecov.io/gh/api7/apisix-seed/branch/main/graph/badge.svg)](https://codecov.io/gh/api7/apisix-seed) -Do service discovery for Apache APISIX on the Control Plane +Do service discovery for Apache APISIX on the Control Plane. # What's APISIX-Seed [Apache APISIX](https://github.com/apache/apisix) is a dynamic, real-time, high-performance API gateway. @@ -17,31 +17,31 @@ This project is a component of Apache APISIX to implement service discovery in t The following figure is the topology diagram of APISIX-Seed deployment. -![apisix-seed overview](docs/assets/images/apisix-seed%20overview.png) +![apisix-seed overview](./docs/assets/images/apisix-seed%20overview.png) # Why APISIX-Seed - Network topology becomes simpler -> Apache APISIX does not need to maintain a network connection with each registry, and only needs to pay attention to the configuration information in etcd. This will greatly simplify the network topology. +> APISIX does not need to maintain a network connection with each registry, and only needs to pay attention to the configuration information in etcd. This will greatly simplify the network topology. - Total data volume about upstream service becomes smaller -> Due to the characteristics of the registry, Apache APISIX may store the full amount of registry service data in the worker, such as consul_kv. By introducing APISIX-Seed, each process of Apache APISIX will not need to additionally cache upstream service-related information +> Due to the characteristics of the registry, APISIX may store the full amount of registry service data in the worker, such as consul_kv. By introducing APISIX-Seed, each process of APISIX will not need to additionally cache upstream service-related information. - Easier to manage -> Service discovery configuration needs to be configured once per APISIX instance. By introducing APISIX-Seed, Apache APISIX will be indifferent to the configuration changes of the service registry +> Service discovery configuration needs to be configured once per APISIX instance. By introducing APISIX-Seed, Apache APISIX will be indifferent to the configuration changes of the service registry. # How it works We use the go language to implement APISIX-Seed. The flow diagram: -![apisix-seed flow diagram](docs/assets/images/apisix-seed%20workflow.svg) +![apisix-seed flow diagram](./docs/assets/images/apisix-seed%20workflow.svg) APISIX-Seed completes data exchange by watching the changes of etcd and service registry at the same time. The process is as follows: -1、Apache APISIX registers an upstream and specifies the service discovery type to etcd. +1、APISIX registers an upstream and specifies the service discovery type to etcd. -2、APISIX-Seed watches the resource changes of Apache 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. 3、APISIX-Seed binds the service to the etcd resource and starts watching the service in the service registry. @@ -51,18 +51,21 @@ The process is as follows: 6 、APISIX-Seed queries the bound etcd resource information through the service name, and writes the updated service node to etcd. -7、The Apache APISIX worker watches etcd changes and refreshes the service node information to the memory. +7、The APISIX worker watches etcd changes and refreshes the service node information to the memory. # Development + The following will take the nacos service registry as an example to show how to deploy and use APISIX-Seed to complete service discovery. Before starting, please make sure that you have installed Apache APISIX correctly. And make sure it can work properly. -## step 1: Deploy Nacos +## Step 1: Deploy Nacos + Quickly deploy Nacos using the Nacos Docker image: ```bash docker run --name nacos-quick -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:2.0.2 ``` -## step 2: Install APISIX-Seed +## Step 2: Install APISIX-Seed + Download and build APISIX-Seed: ```bash git clone https://github.com/api7/apisix-seed.git @@ -91,31 +94,31 @@ discovery: # service discovery center ``` You can easily understand each configuration item, we will not explain it additionally. -start APISIX-Seed: +Start APISIX-Seed: ```bash APISIX_SEED_WORKDIR=/usr/local/apisix-seed /usr/local/apisix-seed/apisix-seed ``` -## step 3: Register the upstream service +## Step 3: Register the upstream service -start the httpbin service via Docker: +Start the httpbin service via Docker: ```bash docker run -d -p 8080:80 --rm kennethreitz/httpbin ``` -register the service to Nacos: +Register the service to Nacos: ```bash curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=httpbin&ip=127.0.0.1&port=8080' ``` -## step 4: Verify in Apache APISIX +## Step 4: Verify in Apache APISIX -start Apache APISIX with default configuration: +Start Apache APISIX with default configuration: ```bash apisix start ``` -create a Route through the Admin API interface of Apache APISIX: +Create a Route through the Admin API interface of Apache APISIX: ```bash curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d ' { @@ -131,7 +134,7 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f13 }' ``` -send a request to confirm whether service discovery is in effect: +Send a request to confirm whether service discovery is in effect: ```bash curl http://127.0.0.1:9080/get -H 'Host: httpbin' ```