前言
嗨喽,好久不见呀,前几天忙于实习的安顿,没来得记更新博文,好苦呀🥹。这次为大家带来一种有点不合乎常规的框架学习,是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++ 。(这里面的资料还是很重要的,至于能不能化为己用就看你的造化了)
那就拜拜👋了,下期见呀!宝宝休息了😜~