# aes
**Repository Path**: yjz1995/aes
## Basic Information
- **Project Name**: aes
- **Description**: 一个轻量级,分布式异步服务器框架
- **Primary Language**: C++
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2025-01-16
- **Last Updated**: 2025-09-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Lua, Cpp, Web, 分布式服务器, 协程
## README
#
acs(Async Cpp Server) 一个轻量级,分布式异步服务器框架
# 特点:
### 1. 跨平台
支持windows,Linux,Mac(支持m1和intel芯片)
### 2. rpc系统
支持在lua或者c++中使用协程调用远程方法(支持tcp,udp,kcp等协议)
### 3. 协程
使用汇编实现高效协程,同步方式写异步代码,避免使用回调
使用协程封装服务器之间的rpc调用,与数据库的交互等,拒绝回调,纵享丝滑
使用共享栈(一个协程大约2000字节),只要内存足够,理论上开启数量无上限,通过共享栈,减少内存开辟,理想情况下开启新协程不需要开辟内存
### 4. 服务
支持rpc服务和http服务,高可用服务注册与发现
使用c++或者lua实现服务,可以使用lua替换c++服务方法实现
服务通过配置方式加载,自由组合,服务可使用http协议进行调试
开发时候可以所有服务可以运行在一个进程,发布的时候可以部署在多个进程
### 5. http
可作为http网站和接口服务器,提供基础鉴权,文件上传等
asio实现了一套http1.1协议,支持c++和lua处理,支持使用lua替换c++
### 6. 数据库
redis客户端,支持c++和lua访问,基于框架协程实现,无依赖
mysql客户端,支持c++和lua访问,基于框架协程实现,无依赖
pgsql客户端,支持c++和lua访问,基于框架协程实现,无依赖
mongodb客户端,支持c++和lua访问,基于框架协程实现,无依赖
### 7. rpc系统
rpc通信基于自己实现的二进制协议,支持websocket,tcp,udp,kcp等各种网络协议
通过反射可以在lua层热更协议,不需要生成c++代码,protobuf结构体可以直接转lua表
### 8. 脚本
基于原生api实现的c++和lua交互引擎
支持把c++的方法,类导给lua使用,在c++中等待lua协程完成,lua中操作数据库,加密
### 9.配置
支持excel导出c++类,json文件,lua文件
#####QQ:646585122
# [编译和运行](./ReadMe/build.md)
# [教程](./ReadMe/menu.md)