通信组件

一个轻量级,高性能的rpc框架,客户端与服务端通信支持 Grpc 和 Netty 两种通信方式。

组件概览

以下是本项目中后端用到的全部组件,这些组件目前全部开源免费使用,如果您在使用过程中遇到任何问题欢迎与我们沟通交流,我们会及时处理您的问题。

Open-Light-Rpc

一个轻量级,高性能的 rpc 框架,客户端与服务端通信支持 Grpc 和 Netty 两种通信方式。

插件特点

  1. 对外提供简洁的 API,源自内部做了强大的抽象和封装,使网络编程变得简单而易于理解。

  2. 高性能和低延迟:由 Netty 作为基石,采用了异步非阻塞的 IO 模型,以及零拷贝技术和基于事件驱动的设计,能够实现高性能的网络通信和低延迟的数据传输。

  3. 可扩展性和灵活性:使用模块化的设计,提供了丰富的可扩展性和灵活的定制选项,开发者可以根据需求自由组合和拓展各个组件,满足不同场景的应用需求。

插件用法

关于插件的更多用法请查看 Open-Light-Rpc 文档

Open-Starter-Schedule

一个基于时间轮算法实现调度器,具有高效而精确的任务调度、快速添加和删除任务、低延迟的任务触发、高并发的任务处理等特点。

插件特点

  1. 高效而精确的任务调度:时间轮算法使用一个环形的时间轮结构,轮盘上的每个槽位代表一个时间段,每个时间段对应一个任务队列。通过逻辑时钟的不断推进,可以准确地将任务放入到相应的时间槽中,实现高效而精确的任务调度。

  2. 快速添加和删除任务:时间轮算法支持快速的任务添加和删除操作。当需要添加一个新的定时任务时,只需计算出该任务所在的时间槽,并将任务插入到对应的任务队列中即可。同样,如果需要取消一个已经存在的定时任务,只需标记该任务即可,无需遍历整个任务列表。

  3. 低延迟的任务触发:时间轮算法采用近似的时间粒度划分,可以保证通过定时器预期触发的任务能够及时执行,从而实现低延迟的任务触发。时间轮的轮盘周期通常设置为定时任务的最小粒度,例如毫秒级别或者更小。

  4. 高并发的任务处理:时间轮算法天然支持并发任务处理。每个时间槽对应一个任务队列,不同的时间槽之间相互独立,任务处理可以并行进行。这样可以充分利用多核处理器的性能,并提高系统的并发能力。

插件用法

关于插件的更多用法请查看 Open-Starter-Schedule 文档