Dear dev - -
I found some designs in the project that could have been better,so I did a design for this. I hope you can help me to check this design and give advice and suggestions . - At the same time, I also hope that you will actively participate in the implementation of this design. The following part is this design( #4560 <https://github.com/apache/shenyu/issues/4560>). By the way, I've already implemented a simple - - demo ,please check here <https://github.com/tian-pengfei/shenyu/pull/1>. Description AbstractContextRefreshedEventListener is too coupled, which makes it difficult to scale. Therefore we need to redesign the collection of client registration information . Various types of API (eg:Api-Doc,Api-Meta)collections are coupled together in AbstractContextRefreshedEventListener,so we mainly need to refactor the design of API-related information collection. Aims - It supports to register api without annotations - You can customize the registration mode with it - The hierarchies will changes from inheritance to composition. - API information generation rules will be customizable,which mean it can independent of annotations. - You can custom API matching rules to decide what kind of API meets the requirements. - Spring-Boot Client will support Automatic configuration. - It will be a non-invasive design,which don't influence the old design. demo: tian-pengfei#1 <https://github.com/tian-pengfei/shenyu/pull/1> Design [image: design] <https://user-images.githubusercontent.com/42602026/233129716-90791058-9dac-44f3-8b1e-a0283fe2e3cc.png> Task - initializes base design tian-pengfei <https://github.com/tian-pengfei> - initializes spring-boot auto config tian-pengfei <https://github.com/tian-pengfei> - support spring-mvc (boot and no boot) tian-pengfei <https://github.com/tian-pengfei> - support spring-cloud - support spring-dubbo - support eureka - support tars - support sofa - support motan - support grpc - support brpc Best wishes! Tian Pengfei Apache ShenYu