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