5分钟极速|C++服务框架|OATPP框架

前言

       嗨喽,好久不见呀,前几天忙于实习的安顿,没来得记更新博文,好苦呀🥹。这次为大家带来一种有点不合乎常规的框架学习,是C++的,而且还是服务型的后端框架,主要类似于Spring后端这种框架。我也是新学习到的,可能也有疏漏的地方,如有错误,欢迎你的指正呀!感谢观看我博文的读者,在这里感激不尽🙏!

       OK,今天要给你介绍的是C++的OATPP架构,这是一款后端的架构,话不多说,直接进入正题!

OATPP服务架构介绍

       想必你一定很好奇,既然Java有Spring框架了,人家都是专门做后端的,为啥要来折腾C++,这不是给自己找事吗?

       是的,没错!Java确实是专门为后端而生的,但是相比于C++来说,装一个JDK,在启动一个服务基础内存就差不多到1GB,对于一些小型的服务器来说或者是小服务来说太折磨它了,但是今天要介绍的OATPP框架,你敢相信基础服务内存就只有10M吗?它就只有10M大小!!!这对于一些小型的服务,特别是物联网架构来说简直就是福音,一块小开发板足以胜任👍。 而且更重要的是,Spring有的它也有,神不神奇!

官网

       来,让我们来看看是什么样的,现看看仓库官网:OAT++-GitHub

架构

       哈哈哈,看不出来啥吧,那就别看了,来,我教你,我和你讲。咱们先看一下架构图啊,上图:

       熟不熟悉?那必须,这,这不是SpringBoot的框架吗?对,没错,像,但是不一样,因为这个框架是我用C++的OATPP框架来自己搭的,可以看到淡化了DAO层,改成Other了,因为可能一些小的物联网项目根本用不上数据库!

       既然是像SpringBoot架构,哪我就不多解释了,说明一下这里我自己加了CROS层,这一层主要是为了安全考虑,拦截层,一些鉴权就是在这里面的。整个服务框架的接口是典型的RESTful风格,而且还内置了OpenAPI Swagger,你就说好不好吧。

框架实现

       好了,那接下来就教你怎么实现这个后端的服务框架,实现一个轻量级,高性能并发的OATPP服务(请注意!我接下来的演示都是在Linux上,Windows上没试过,大佬可以试试看看官方文档试试,文档在最后有链接)

安装部署

安装基本依赖应用

sudo apt update
sudo apt install make cmake g++ gcc git

拉取框架代码

git clone https://github.com/oatpp/oatpp.git
cd oatpp

编译安装

mkdir build && cd build
cmake ..
sudo make -j 4 # 这里的是CPU核心数,根据自己的修改
sudo make install

构建代码

       建立一个代码文件夹,然后建立出上面的架构了。可以参考Step by step | Oat++

如果需要我的代码,记得在评论区评论哦~

src
├── config
│ └── AppComponent.hpp
├── controller
│ └── MyController.hpp
├── cros
│ ├── AuthInterceptor.cpp
│ └── AuthInterceptor.hpp
├── dto
│ └── MessageDTO.hpp
├── Main.cpp
└── service
├── MyService.cpp
└── MyService.hpp

编译运行

cd build
cmake ..
make -j 4
./Oat++

最终效果:

      第一次请求被拦截器拦截了,说明是框架成立!

运行前负载:

运行后负载:


      呃,什么情况?内存还降低了?可能是开了一个code-server吧,有影响,但是可以看到,几乎就很低的内存好吧。

总结

      好了,本期的介绍就到这里了,这一款框架还是特别适用于物联网的,高性能,高并发且低负载。对于其OATPP的使用架构是我自己规划的,其代码也是参考着写的。如果有不对的地方欢迎你的指正呀!

这里补充其OATPP的官网:Oat++ (这里面的资料还是很重要的,至于能不能化为己用就看你的造化了)

      那就拜拜👋了,下期见呀!宝宝休息了😜~

作者:JMing 原创文章,转载引用请标明。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇