C/C++都有哪些开源的Web框架?

server/2025/3/22 2:19:16/

CppCMS

CppCMS是一个采用C++语言开发的高性能Web框架,通过模版元编程方式实现了在编译期检查RESTful路由系统,支持传统的MVC模式和多种语言混合开发模式。

CppCMS最厉害的功能是WebSocket,10万连接在内存中长期保存占用的大小不超过600MB,直接将WS和Node.js甩几条街。

某自动驾驶公司的OTA服务使用该框架构建API网关,在编译阶段完成所有的接口参数校验,软件运行三年零事故。

CivetWeb

嵌入式Web服务器,功能非常强大,提供可选择的SSL、CGI和Lua功能。

Drogon

是一个C++17/20开源的HTTP框架,在某头部券商中被广泛使用,就连小米的loT后台也使用了该框架。

该框架的异步I/O模型是使用Linux的epoll接口,在结合自主研发的ORM框架,数据库查询效率比Java JDBC提升了百分之四十。

某券商将自己的核心交易平台接口使用该框架进行了重构,实现了单机就能处理12万的并发请求,Http的平均响应时间不到0.8秒。

QDjango

QDjango主要基于QT库开发的Web框架,设计理念来源与Python Django框架,帮助开发者实现高质量的Web应用构建。

Seastar

Seastar采用C++进行开发,主要应用在Scylla上(与Apache Cassandra兼容的高性能NoSQL数据库),也可以说它就是为Scylla分布式数据库而诞生,让开发者管理数据时强迫使用分片内存池。

某交易所使用Seastar框架重写订单匹配引擎,订单的处理能力达到了纳秒级别,要做到这种级别,管控好每个字节在内存中的生命周期非常关键,相当于使用汇编语言写业务逻辑。

Seastar的诞生,让开发者可以轻松的实现具备C10M性能的网络服务,这难以不让人惊叹。

它的性能可以看官网提供的数据


轻量级、跨平台、无第三方库依赖,提供多个API接口,在单个服务器上能够实现500多万个并发连接。

Kore

Kore是一个可扩展、轻量级的Web应用框架,“安全为先”的设计理念来源于操作系统的强大安全特性,适用的场景包括从嵌入式设备到高性能服务器,支持C和Python语言扩展Web API、HTTP/1.1、默认TLS加密、WebSocket、模块热重载等功能,代码行数在2万行左右。

现在很多的路由器厂商都使用该框架开发界面,运行一个完整的Web服务仅需要8MB内存。

最有名的应用案例就是CDN公司将日志分析服务从Flask框架迁移到C语言开发的Kore框架后,服务器集群从原来的200台缩减到12台,每天的电费节省3000美元。

它的主要工作原理就是采用预派生进程+无锁队列设计,将CPU的利用率由百分之三十五提高到百分之九十八。

TreeFrog Framework

TreeFrog Framework也是基于QT而构建的全栈Web框架,自带基于MVC体系的模版系统和ORM框架,支持HTTP和带O/R映射的WebSocket协议。

Lithium

Lithium是一个高性能、轻量级、可扩展的Web框架,包含了数据库适配器、路由器、MVC模式架构等,它的设计理念是灵活、简洁和高效,提高开发者构建高质量Web应用的效率。

为了避免防注入魔法,它将SQL映射功能模块采用类型体操实现;开发者定义的每一个查询语句,都会被系统解析为抽象语法树,查询语句中的拼接非参数变量都会触发编译器报错,在内部被称之为SQL注入的克星。

某银行使用该框架重写了转账接口,渗透测试团队找了三个月都没有发现什么漏洞。

Crow

Crow是一个轻量级、高性能的Web框架,它在boost::asio上做了二次封装,整个框架只有一个头文件,开发者使用较为简单。如果你想学习该库,可以去搜索教程:《Build your web server in C++ with Crow.》。

目前估计该性能可以在TechEmpower上排到世界前五。

好了,今天就先分享到这里,记得点赞和收藏。


http://www.ppmy.cn/server/176931.html

相关文章

DeepSeek + Kimi 自动生成 PPT

可以先用deepseek生成ppt大纲,再把这个大纲复制到Kimi的ppt助手里: https://kimi.moonshot.cn/kimiplus/conpg18t7lagbbsfqksg 选择ppt模板: 点击生成ppt就制作好了。

华为手机新品将采用新屏幕形态,3月20日揭晓谜底

在科技飞速发展的当下,智能手机市场的竞争可谓白热化。各大厂商不断推陈出新,试图在这片红海之中抢占更多份额。而华为,作为其中的佼佼者,一直以创新为驱动,致力于为消费者带来前所未有的体验。年初,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东在社交媒…

5G 智慧杆塔:开启智能城市新未来

在科技飞速发展的当下,5G 技术正以前所未有的速度改变着我们的生活。而 5G 智慧杆塔作为 5G 时代的重要基础设施,正悄然兴起,成为城市智能化发展的新引擎。它不仅是 5G 网络的关键支撑,更是城市管理、公共服务等领域实现智能化升…

【RabbitMQ】RabbitMQ消息的重复消费问题如何解决?

可以从消息队列和消费者两方面入手,确保消息处理的幂等性和可靠性。 1.消息重复消费的原因 1.1消息队列的机制 消息确认失败: 消费者处理完消息后,未正确发送确认(ACK)给RabbitMQ,导致消息被重新投递。消息重试机制&#xff1a…

从零基础到能独立设计单片机产品,一般需要经历哪些学习阶段?

相信很多人,内心都有“钢铁侠”的幻想,成为能写程序,能设计硬件,能设计结构,能焊接的全能型人才。 上次徐工问我,如果你财富自由了,想去做啥? 我说出来,可能大家都不信&a…

【Vue3】01-vue3的基础 + ref reactive

首先确保已经有了ES6的基础 本文介绍 vue 的基础使用以及 两种响应数据的方式。 目录 1. 创建一个vue应用程序 2. Vue模块化开发 3. ref 和 reactive 的区别 1. 创建一个vue应用程序 所需的两个文件: https://unpkg.com/vue3/dist/vue.global.js https://un…

功能强大的免费 PDF 处理工具套装

PDFgear 是一款集合了多种 PDF 处理工具的软件套装,提供了全面的 PDF 处理解决方案,包括 PDF 阅读、编辑、转换、合并、签署等功能。它支持 Windows、Mac、iOS 和 Android 系统,完全免费且易于使用。 这是一款功能全面、操作简洁的PDF处理工具…

oracle cdc logminer与oracle xstream

以下为Oracle CDC技术中XStream与LogMiner的核心差异解析,结合技术背景、实现原理、性能表现等维度进行系统化对比。 一、技术背景与定位差异 LogMiner:官方日志分析工具的非正式应用 最初设计用于数据库管理员(DBA)审计和分析历史…