ShiningRush commented on issue #434: URL: https://github.com/apache/apisix-dashboard/issues/434#issuecomment-687716153
I drew a picture to show how the underlying components work together ![image](https://user-images.githubusercontent.com/24238012/92320639-99b6c580-f055-11ea-9b4b-58a6ca4f0e1a.png) This is a bit like the design of [k8s apiserver](https://github.com/kubernetes/apiserver/blob/master/pkg/registry/generic/registry/store.go), but it simplifies a lot of details. Here are the responsibilities of each component: - `Handler`: handle the requests,each handler will have a their own store which is created from `GenericStore` - `GenericStore`: this component is responsible for common logic, such as maintaining memory-based etcd copies, queries, etc. - `Etcd3Storage`: responsible for the operation of etcd, used to decouple GenericStore and persistent components, to facilitate unit testing and expansion @nic-chen @juzhiyuan @membphis @moonming If there is no doubt about the design details, I will implement it for ManagerAPI recently. If there is something unclear, we can hold a meeting to discuss it. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org