组件概览
以下是本项目中后端用到的全部组件,这些组件目前全部开源免费使用,如果您在使用过程中遇到任何问题欢迎与我们沟通交流,我们会及时处理您的问题。
Open-Light-Rpc
一个轻量级,高性能的 rpc 框架,客户端与服务端通信支持 Grpc 和 Netty 两种通信方式。
插件特点
-
对外提供简洁的 API,源自内部做了强大的抽象和封装,使网络编程变得简单而易于理解。
-
高性能和低延迟:由 Netty 作为基石,采用了异步非阻塞的 IO 模型,以及零拷贝技术和基于事件驱动的设计,能够实现高性能的网络通信和低延迟的数据传输。
-
可扩展性和灵活性:使用模块化的设计,提供了丰富的可扩展性和灵活的定制选项,开发者可以根据需求自由组合和拓展各个组件,满足不同场景的应用需求。
插件用法
关于插件的更多用法请查看 Open-Light-Rpc 文档
Open-Starter-Schedule
一个基于时间轮算法实现调度器,具有高效而精确的任务调度、快速添加和删除任务、低延迟的任务触发、高并发的任务处理等特点。
插件特点
-
高效而精确的任务调度:时间轮算法使用一个环形的时间轮结构,轮盘上的每个槽位代表一个时间段,每个时间段对应一个任务队列。通过逻辑时钟的不断推进,可以准确地将任务放入到相应的时间槽中,实现高效而精确的任务调度。
-
快速添加和删除任务:时间轮算法支持快速的任务添加和删除操作。当需要添加一个新的定时任务时,只需计算出该任务所在的时间槽,并将任务插入到对应的任务队列中即可。同样,如果需要取消一个已经存在的定时任务,只需标记该任务即可,无需遍历整个任务列表。
-
低延迟的任务触发:时间轮算法采用近似的时间粒度划分,可以保证通过定时器预期触发的任务能够及时执行,从而实现低延迟的任务触发。时间轮的轮盘周期通常设置为定时任务的最小粒度,例如毫秒级别或者更小。
-
高并发的任务处理:时间轮算法天然支持并发任务处理。每个时间槽对应一个任务队列,不同的时间槽之间相互独立,任务处理可以并行进行。这样可以充分利用多核处理器的性能,并提高系统的并发能力。
插件用法
关于插件的更多用法请查看 Open-Starter-Schedule 文档