+1. We should reduce the package size to ease the distribution and deployment. There's similar opinion from the Incubator community too.
Shuai Di Best Regards. Chen Xia <casion...@gmail.com> 于2022年1月19日周三 10:13写道: > At present, the compiled binary package of linkis is relatively large, > nearly 500MB, and there are many jar packages that third party depend on. > currently existing problems > > - The package body is too large and exceeds the size of general > conventional projects, which increases the difficulty of downloading the > material package. > - The same dependency uses different versions directly or indirectly in > different modules, which can easily lead to package conflicts. > - Whether the linkis-mg-gateway/linkis-mg-eureka service can not import > all the packages, like other services, in the startup script, add the > general package path of linkis-commons to the classpath > - When the engine plugin starts, the default is to load the general > package lib/linkis-commons/public-module/*. Currently, In the compiled > binary of engine plugin, there are many jar that are duplicated in > lib/linkis-commons , so the engine dependencies are also can be > simplified. > > Optimization method: > > - Step 1: You can first sort out the list of third-party dependencies. > Click the link below to download the data based on version 1.0.3 : > Download > the third-party dependency list data:download third-party dependencies > list txt > < > https://github.com/apache/incubator-linkis/files/7888883/third-party-dependencies-with-plugin.txt > > > - Step 2: According to the principle of single introduction, try to > simplify, other modules can exclude existing jar packages in > lib/linkis-commons/public-module/, and common dependencies can be > placed in > lib/linkis-commons/public-module/ middle > > > The corresponding issue[1] has been created. Is there anything that needs > special attention in the distributed deployment scenario? > > [1] https://github.com/apache/incubator-linkis/issues/1313 > > --------------------------- > > 目前linkis的编译后的部署安装包比较大,已经近500MB,第三方依赖的jar包比较多。目前存在的问题 > > - 包体过大,超出一般常规项目的大小,增加了物料包下载的难度。 > - 同一依赖项在不同模块,直接或间接的使用了不同版本,容易导致包冲突问题。 > - > > > linkis-mg-gateway/linkis-mg-eureka服务是否可以不用引入全部包,和其他服务一样,启动脚本中,将linkis-commons的通用包路径加入到classpath中 > - 引擎插件启动时,默认是加载通用包 lib/linkis-commons/public-module/*,目前引擎插件编译的包中,存在不少与 > lib/linkis-commons中重复的包,所以引擎的依赖包是不是也可以进行精简。 > > 优化方式: > > - 步骤一:可以先梳理出第三方依赖详情列表,点击下方链接可以下载基于1.0.3版本梳理的数据:下载第三方依赖列表数据, > - > > > 步骤二:根据单一引入,尽量精简的原则,其他模块可以排除lib/linkis-commons/public-module/中已存在的jar包,通用的依赖可以尽量放在lib/linkis-commons/public-module/中 > > 已经创建了对应的issue[1],对于分布式部署场景这种处理方式是否有什么需要特别注意的地方? > > [1] https://github.com/apache/incubator-linkis/issues/1313 >