NIO

web-ui-dashboard开源项目
本项目脚手架快速搭建web服务。基于epoll/poll/select + c + cmake +react19 +vite 5 +antd。 本项目特点:基于epoll,轻量级,资源消耗少,跨平台(linux/windows)。 分前后端项目代码,源代码少,vite和cmake一条龙构建。 分前后端项目代码,源代码少,vite和cmake一条龙构建。 分前后端项目代码,源代码少,vite和cmake一条龙构建。
890C/C++项目构建
1. 解决微服务认证问题,集成最新OAuth2认证 2. 支持access_token,refresh_token,password,client_credentials,pkce,phone_code 等认证模式 3.使用最新Springboot 3.0 和spring-authorization-server开发
1050java企业服务
Linux云盘项目开源项目
Linux C++实现的网盘项目.Qt网盘客户端。服务器使用Epoll高并发模型,实现多线程、连接池、公平调度算法。Qt实现操作界面 一、基本架构(服务端Linux,客户端Qt) (一)、服务端结构 1、Linux系统 2、Epoll IO复用模型:高效的Epoll边缘触发IO复用 3、线程池:采取主线程(处理连接,派发任务,与均衡器通信。不进行其它IO操作)+子线程(执行客户端任务,进行IO操作)模式,实现了线程池 4、数据库连接池(单例模式):采用MySql的Connector/C++ 数据库框架,并配合RAII机制,实现一个自动申请和释放的数据库连接池 5、OpenSSL(安全套接字传输):使用Openssl框架实现,客户端与服务端之间安全加密传输,保护传输安全 6、Openssl文件校验:才是Openssl,对文件进行SHA256计算,并利用计算结果作为文件名,实现妙传,和文件传输校验。 7、基于小根堆的定时器:采用小根堆作为底层数据结构,实现了一个定时器,将长期不活跃的连接释放,减少服务器负载 8、分级日记系统(单例模式):使用多线程对日记进行写入。日记级别分为:Debug、info、warn、error。可根据情况不同写入不同日记,并自动记录时间。 9、任务处理(工厂模式):长(上传、下载等)短(登陆注册等)任务分离。使用多态实现客户端连接。一个抽象任务类下面继承实现多个具体任务类,根据客户端任务请求,生成不同对象,进行处理。长任务采取状态机处理:Check->Doing->Fin->Close.四种状态间转换处理。 10、负载均衡:实现一个简单负载均衡服务器。用来根据各服务器的当前负载量,派发客户端连接。该均衡器较为简单,仅供参考,不建议使用。现在云服务提供商基本都提供安全的均衡策略。 11、公平调度(轮询算法):并不会一个线程把全部任务处理完成,而是只处理该任务的一部分,然后在处理下个任务,使用轮询机制,避免大任务长期占用线程,导致其它任务无法得到处理,例如一个客户上传100G的文件,客户端的网速又不好,如果一个线程完全处理,会导致其它任务长期难以响应。 Image text (二)客户端结构 1、Window系统(使用Qt跨平台框架,也可简单部署到其它系统) 2、Openssl安全加密传输 3、Asio库作为通信基础 4、短任务线程池。长任务多线程传输,避免UI界面冻结。 5、实现文件系统视图,可以进行层级化查看文件 6、界面与逻辑分离
2800C/C++云计算
简易rpc框架开源项目
1.zk作为服务注册中心 2.netty作为底层通信,完成数据的编解码和数据的收发 3.使用springboot的自动装配完成rpc框架的整合,方便客户端使用 4.主要分为server端,client端
1240java框架
Halia网络框架开源项目
Halia Halia是一个基于组件化的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。 Features 组件化 可扩展 高性能
2100nio高性能网络开发库
catman-workbench开源项目
CatMan Workbench 是一个分布式应用程序,用于构建自定义工作流程,并在其基础上构建更丰富的功能。它提供了一个用户友好的界面,用于管理和维护定制工作流程中涉及的组件. 该项目是由我个人主导的开源项目,其最初的设计目的是为了代替 apifox+kong ,后面逐渐演化为基于虚拟化编程的工作流平台. 该项目使用的技术,后端主要是:java17,springboot3,嵌入式数据库和 mongodb ,前端主要是 react,react -redux,react -flow,dnd -kit,ant -design.
1840java工作流引擎
JLF 框架开源项目
框架描述: 此框架为自己在业余时间独立编写开发的一套框架。已申请专利,估值800万。 此框架分为以下三个部分: 1. 架构(SOA) : 在传统的 MVC 架构的基础上进行优化,除 MVC 基本功能以外,实现了以下功能: 1.1. 基于约定大于配置原则,基本实现零配置。 1.2. 提供多数据库之间的事物管理。 1.3. 集成缓存框架,并提供对数据库 id 黑名单管理,防止缓存穿透。 1.4. 封装 ORM 关系映射,比使用 hibernate 和 mybatis 更加简单。 1.5. 实现了 bean 容器的管理以及依赖注入。 1.6. 可以通过实体类,导出相应的 sql 脚本和数据字典。 1.7. 可以导出每个请求的请求参数、验证规则、响应参数等信息,方便前后端的协作开发。 2. 插件(PLUGIN) : 插件目的在于,在程序中需要用到第三方工具包时,实现对代码零侵入,使得可以在程序中自由切换工具包。 插件主要分为以下三个模块: 2.1 客户端(CLIENT) :供调用者调用。 2.2 接口(API) :与客户端为一对一关系,与服务端为一对多关系。 2.2.1 服务接口(SERVER_API) :需服务端去实现的接口 API。 2.2.2 用户接口(USER_API) :需程序调用者自己去实现的接口 API。 2.3 服务端(SERVER) :实现 API 暴露的接口,一个 API 接口会对应多个服务端实现。 用户在使用插件时,在代码编译过程中,只需依赖客户端包即可,无需关心服务端基于什么实现。在系统启动前,将 对应的服务端包导入项目中,系统会自动对客户端与服务端做绑定。在需要更换工具包时,也只需要替换服务端包即 可,对代码零侵入。 插件支持界面化操作,如果某个 SERVER 端的配置文件发生变化,只需在界面上调用重新加载配置文件接口即可,无 需重启服务。在集群环境下,用户无需对每一台服务器都调用此接口,如果其中一台服务器调用此接口成功,会以消 息队列形式通知到其它服务器,其它服务器接收到通知后,即会重新加载配置文件。 目前主要实现了如下插件: (1) AOP 插件:实现了面向切面编程。 (2) RPC 插件:实现了分布式系统之间的相互调用。 (3) DBPOOL 插件:实现了对数据库连接池的管理。 (4) CACHE 插件:实现了对缓存的管理。 (5) CHECK 插件:通 bean 与注解的结合使用,实现了良好的数据校验机制。 (6) SESSION 插件:实现了对分布式的 SESSION 的良好管理。 (7) THREADPOOL 插件:实现了对线程池的管理。 (8) JSON 插件:实现了对 JSON 的管理 (9) MQ 插件:实现了消息队列的管理 (10) PUSH 插件:实现了由本地向远程服务器发送数据的功能。 (11) EXCEL 插件:实现了对 EXCEL 读、写的操作。 (12) TEMPLATE 插件:实现了根据模板文件生成字符串或生成文件的功能。 框架难点: 1. 在大量使用反射的前提下,如何提供执行效率。 2. 如何减少用户使用此框架的学习成本。
2210java数据库管理工具
当前共7个项目more
×
寻找源码
源码描述
联系方式
提交