Hello,
I want to discuss a new idea about plugins, and let me start by explaining
the existing plugin mechanism, plugins works according to the following
rules:
- plugins are executed after the administrator binds them to a route,
service, unless they are modified again by the admin API
- plugins are executed in order of priority which hard code
- plugins are independent of each other, the results of a plu-in will not
affect another plugin

So, some scenarios are not handled very gracefully by Apache APISIX, such
as:
- limit-count for some IPs, and others are unrestricted
- throw the failed authentication logs to kafka topic A, and others to
kafka topic B
- request which block by limit-req need to go through the fault injection
plugin

For these scenarios, we can now only handle them by creating multiple
routes, or creating new plugins.

So I think it's time to take `brain` to APISIX to orchestrate plugins. We
can add an additional plugin orchestrator without any modifications to the
existing plugins, then we can use decision tree to control plugins.

What do you think?

Thanks,
Ming Wen, Apache APISIX & Apache SkyWalking
Twitter: _WenMing

Reply via email to