+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
>

Reply via email to