JNAVI项目之用classloader实现热部署

JNAVI是一款由本公司开发的大规模分布式服务框架,支持http、tcp、udp等服务,并具备高效的请求处理能力。该框架类似于Tomcat,支持多个业务模块的热部署。采用三层结构设计,包括启动代码层、服务框架层及业务模块层。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JNAVI项目是我们公司开发的用于大规模分布式服务框架,能提供http,tcp,udp请求服务,并提供了大量的高效率、高性能、池化的请求底层服务的接口的框架。其中之一的特点就是类似于tomcat,支持部署多个业务模块,每个业务模块支持热部署,其就是利用classload实现的。先简单看图。








整个项目分3层,第一层就是启动JNAVI的代码,即boot启动代码

第二层就是服务框架,提供tcp,udp,http服务

第三次就是各个业务模块的代码


整体上,第一层代码初始化serverclassload,并根据配置的主类通过serverclassload启动主类

第二层会启动多个第三层业务模块,每个业务模块分别初始化一个moduleclassload,并引用,通过接口的形式调用第三层相关代码。

第三层支持热部署,即第二层的框架代码会启动一个线程,会定期的去检查业务模块的相关配置是否变化,变化的话,就会重新初始化一个moduleclassload,并加重代码,之后,抛弃之前的moduleclassload,以此达到热部署的功能(使用新类,并卸载旧类)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值