[Task] upload plugin jar to admin, synchronize jar to bootstrap
Description
upload plugin jar to admin, synchronize jar to bootstrap
Task List
- upload jar file api.
- control jar file api.for example: add plugin jar, remove plugin jar, modify plugin jar.
- syncronize jar file to bootstrap.
- load jar file from bootstrap dynamically.
pls assign to me.
I don't think this is a good idea. This looks a lot like osgi, dynamic plugging and unplugging, but this function is not suitable for cloud native scenarios, each gateway node is an image instance.
it is not safe to do so
I don't think this is a good idea. This looks a lot like osgi, dynamic plugging and unplugging, but this function is not suitable for cloud native scenarios, each gateway node is an image instance.
it is not safe to do so
first, my idea from ShenyuLoaderService#loaderExtPlugins, ShenYu can load plugin from local file, why not load from remote file system.
second, it like bundle of osgi, but shenyu's plugin is jar, this is supported feature, not necessary feature.
third, I think ShenYu already supported load jar from local, why not think ShenYu Gateway safety?
this feature suit cluster mode, otherwise, if you upload plugin, you must upload jar to every gateway server manually in cluster enviroment,and about cloud native scenarios, it doesn't matter.
Personally, I think it looks good

@yu199195 @hutaishi @li-keguo
this is my preliminary idea.
- in admin, when upload plugin jar, generate signature,it keep jar's safety.
- in event, send event with signature by md5.
- in bootstrap, load plugin and put this plugin to pluginList.
@yu199195 @hutaishi @li-keguo
this is my preliminary idea.
- in admin, when upload plugin jar, generate signature,it keep jar's safety.
- in event, send event with signature by md5.
- in bootstrap, load plugin and put this plugin to pluginList.
The idea is great, but how do we ensure that the newly added jar will run stably? How to ensure that the gateway is stable but productive during the loading process? We know that the load bytecode is used but the heap memory is special, but how to dynamically expand it?
pls assign to me.