通信组件

一个轻量级,高性能的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 文档

Open-Starter-Job-Register

一个用于扫描在类上或方法上添加 JobHandler 注解的插件

插件特点

  1. 支持扫描在类上或方法上添加了 JobHandler 的注解

  2. 在任务到来时能快速找到任务的 Handler

插件用法

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

Open-Starter-Executor

它拥有并发性强、支持同一任务使用同一线程排队有序执行执行,不同任务之间并行调度、并行执行等特点,而且还具有很高灵活性和可扩展性。它不仅支持 Per-Task-Thread 模式,还支持使用动态线程池执行任务,同时满足不同场景下的需求,并可根据具体情况进行定制和扩展

插件特点

  1. 并发性:Executor 组件提供了两种任务并发执行机制,通过使用线程池或 Per-Task-Thread,确保任务的并发执行。

  2. 易用性:Executor 组件可轻松与 Spring-Boot 应用进行集成。这意味着您只需要加入该组件的依赖就可以使用该组件提供的功能。

  3. 灵活性:Executor 组件目前提供线程池和 Per-Task-Thread 执行模式,以满足不同场景下的需求。

  4. 可扩展性:Executor 组件可以根据具体需求进行定制和扩展,例如添加自定义的任务并发执行方式。

插件用法

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

Open-Starter-Logger

一个用于轻松读写日志的插件,它不仅支持设置日志文件写入位置还支持设置日志文件保留天数

插件特点

  1. 支持日志的文件写入和读取

  2. 支持设置日志文件写入位置

  3. 支持设置日志文件保留天数

插件用法

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

Open-Starter-OAuth

它拥有安全性高、开放性强、支持第三方应用等特点,而且还具有很高灵活性和可扩展性。它通过令牌实现安全认证,能与不同系统集成,为用户提供便捷的登录授权体验,同时满足不同场景下的需求,并可根据具体情况进行定制和扩展

插件特点

  1. 安全性:OAuth 认证组件提供了安全的身份验证和授权机制,通过令牌(Token)的方式进行用户认证,确保敏感信息的安全性。

  2. 开放性:OAuth 是一种开放标准,能够与不同的应用程序、服务和平台进行集成。这意味着可以将 OAuth 认证组件应用于各种不同的系统和环境中。

  3. 第三方应用支持:OAuth 认证允许用户使用第三方应用程序进行登录和授权,提供更便捷的用户体验,同时为第三方应用程序提供了集成和访问资源的权限。

  4. 灵活性:OAuth 认证组件支持多种授权方式,包括用户名密码、手机号、第三方登录等,以满足不同场景下的需求。

  5. 可扩展性:OAuth 认证是一个可扩展的协议,可以根据具体需求进行定制和扩展,例如添加自定义的授权方式或权限范围。

插件用法

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

Open-Starter-Security

它不仅有令牌校验、权限校验、系统保护等特点,而且还具有很高灵活性和可扩展性。它通过拦截器实现令牌、权限校验,能与不同系统集成,为用户提供便捷的系统安全体验,同时满足不同场景下的需求,并可根据具体情况进行定制和扩展

插件特点

  1. 安全性:Security 组件通过拦截器的机制,实现令牌与权限的校验,确保系统的安全性。

  2. 易用性:Security 组件可轻松与 Spring-Boot 应用进行集成。这意味着您只需要加入该组件的依赖就可以使用该组件提供的功能。

  3. 灵活性:Security 组件支持配置路由白名单功能、支持基于注解进行权限拦截、支持开发者无感知获取用户信息等。

  4. 可扩展性:支持根据具体需求进行定制和扩展,例如添加自定义的权限校验方式。

插件用法

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

Open-Starter-Captcha

它是一个支持生成图片验证码,短信验证码,算数图片验证码的插件,并且很多参数支持用户配置,而且还支持验证码校验等功能。

插件特点

  1. 支持配置生成图片验证码,图片验证码的长度、宽度、验证码长度、验证码有效期

  2. 支持配置生成短信验证码,验证码长度、验证码有效期

  3. 支持配置生成登录二维码,二维码的长度、宽度、二维码外边距、验证码有效期

插件用法

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

Open-Starter-Alarm

它是一个支持多种报警方式的报警组件,包括钉钉自定义机器人报警、企业微信自定义机器人报警、飞书自定义机器人报警、邮件报警,并且还支持配置多个机器人报警,使用非常简单方便。

插件特点

  1. 支持钉钉自定义机器人报警、企业微信自定义机器人报警、飞书自定义机器人报警、邮件报警

  2. 该组件可轻松与 Spring-Boot 应用进行集成。这意味着您只需要加入该组件的依赖就可以使用该组件提供的功能。。

插件用法

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