基于C++的高性能WEB开发框架
树图思维导图提供 基于C++的高性能WEB开发框架 在线思维导图免费制作,点击“编辑”按钮,可对 基于C++的高性能WEB开发框架 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:69cb64e38995a0f153a9d5bfac7bd593
基于C++的高性能WEB开发框架思维导图模板大纲
当前WEB开发的情况
目前的开发是将C++包封成python3的模块,增加开发成本,C++的WEB框架已经非常成熟
目前的代码不太成熟
开发和维护成本高,既需要熟悉C++,有需要熟悉Python,还需要熟悉Python的WEB框架,python查看C++的数据都不太熟悉?
性能相比较C++、Go、Rust而言,极其低下
调试难度非常大
开发进度很容易被延迟,C++代码 -> 测试C++ -> Python。
存在工作冗余
1.过度封装,开发了大量的包封类 (根本用不上)
2.如果仅仅是为了C++对象Python化,已经存在PyBO,不值当
3.如果C++层的接口变化 -> 绑定层修改 -> 集成到Python,重新测试。
测试难度高, C -> TestCpp -> Python -> TestPython
不支持代码自动生成
C++作为开发语言的优势
目前开发团队,全部都很熟悉C++
开发效率高
开发出来的Web Server性能高
越来越多的Web Server端转向C++/Go语言,python仅仅是开发效率高而已
单元测试程序简单
等本WEB Server成熟之后,如果后续对python有需求,可以通过多种方式转python,例如基于数据交换等。
采用C++的框架包封后,后续可兼容目前python的解决方案
框架
插件式WEB开发
代码自动化生成(可作为智能化的一部分对应成果)
基于OAS的标准WEBAPI,专业性和可读性强
数据平台的WEB化
框架开发
C++WEB框架的封装
目的
cpp-httplib目前仅支持阻塞SOCKET
不支持协程
后续如果有更好的框架,不需要修改用户代码,可以无缝切换
封装的主要类
Request
Response
Router
路由插件化
基于插件式的路由模块
第三方库
json
github.com/nlohmann/json
高性能
header-only
cpp-httplib
cpp-httplib
支持多线程
高性能
支持SSL
语法简洁
错误处理
路由中间层
超时
文件服务器
认证
简单认证
数字认证
Bearer Token认证
Keep Alive
重定向
压缩
高性能
header-only
crow...
dll
boost.dll
配套开发
BO的代码自动生成swagger的yaml文档
swagger的yaml 自动生成框架代码,以及测试代码
后续优化
直接基于数据库访问
redis,内存数据库优化
可扩展插件化的自定义路由
负载均衡
开发
难度底
开发难度底,实现数据结构的json化即可
开发效率高
调试简单
gdb调试,插件化调试
性能
地震数据道集读取,目前道集大小(22M左右),单机单节点的性能对比,C++版本是Python版本的10~12倍左右,多机多节点的性能原则上应该更优于Python。
benchmark
后续需要专门做性能测试
高扩展性,高弹性
插件式组装
具备集成到其他语言的能力
部署简单
自由组装,可以多机多节点部署
已经设置软件的库路径配置,可做到解压即安装
升级容易,可根据需要兼容多版本插件
后续优化空间巨大
从数据格式的角度优化
从数据底层开始优化
框架优化,可以采纳更高性能的WEB框架
配合负载均衡,可以线性扩张WEB服务器的性能
跨平台
Linux
Windows
不支持非阻塞SOCKET
不支持异步
没有整体微服务框架 (TAR支持)
功能完善
开发相关
代码自动生成
C++代码自动生成
OAS标准WebAPI自动生成
测试自动化
性能测试?
Deamon程序
最终释放部署,必须要开发守护进程
客户端封装
微服务化
服务发现
服务注册
...
容灾
远程重启
传输安全
HTTPS
部分功能WEB化
日志分析服务化
动态成果感知
日志网络化
节点工作状态实时监控
性能优化
开发层次上的优化
引入 Timeout Cache
内存数据库 (redis)
读写分离
读和写分离,避免单进程加锁,影响性能
负载均衡
功能集成
以多语言方式集成到现有的微服务框架
瑞飞 (Java)
树图思维导图提供 情绪的感受方式 在线思维导图免费制作,点击“编辑”按钮,可对 情绪的感受方式 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:2c54b2217f97a07f6d55d59ffa68bdcc
树图思维导图提供 农村幼儿园利用绘本阅读开展安全教育的实践研究_副本 在线思维导图免费制作,点击“编辑”按钮,可对 农村幼儿园利用绘本阅读开展安全教育的实践研究_副本 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:2000927dcd222b18fa95af52d1709af8