0


C++实战演练---负载均衡在线oj项目预热

顾得泉:个人主页

个人专栏:《Linux操作系统》 《C++从入门到精通》 《LeedCode刷题》

键盘敲烂,年薪百万!


前言

  ** 学习准备了快一年时间,心心念念的实战演练终于可以开始了,话不多说,直接进入主题!!!**

一、项目简介

   该项目是基于负载均衡的在线OJ平台,用户可以在浏览器访问各个题目,在编辑区编写代码提交,后端能够自动分配服务器资源,保持平衡的情况下为用户提供良好的编程运行环境,让代码快速运行和提交。

二、所需技术及开发环境

所需技术:

    C++ STL 标准库

    Boost 准标准库(字符串切割)

    cpp-httplib 第三方开源网络库

    ctemplate 第三方开源前端网页渲染库

    jsoncpp 第三方开源序列化、反序列化库

    负载均衡设计

    多进程、多线程

    MySQL C connect

    Ace前端在线编辑器(简单使用)

    html/css/js/jquery/ajax (简单使用)

开发环境:

    Centos 7 云服务器

    vscode

    Mysql Workbench

三、项目结构

我们的项目核心是三个模块

   1. comm : 公共模块

   2. compile_server : 编译与运行模块

   3. oj_server : 获取题目列表,查看题目编写题目界面,负载均衡,其他功能

一、leetcode结构

   我们只实现类似 leetcode 的题目列表+在线编程功能。

二、项目宏观结构

三、实现思路

   1. 先编写 compile_server

   2. oj_server

   3. version1 基于文件版的在线OJ

   4. 前端的页面设计

   5. version2 基于 MySQL 版的在线OJ
   目前所建立的结构树 :

四、预备工作

一、升级gcc

   用老的编译器,要么编译不通过,要么直接运行报错,大家可以自行百度搜索下载最新版的gcc,我当前的版本已经升级。

二、安装jsoncpp

** sudo yum install -y jsoncpp-devel**

三、安装boost库

** sudo yum install -y boost-devel**

   这个库安装稍慢,是我们所需要的开发库。

结语:关于该项目的简介这里就结束了,下篇文展将带大家深入实现项目部分功能,如果大家有什么问题,欢迎大家在评论区留言~~~

标签: c++ linux vscode

本文转载自: https://blog.csdn.net/m0_71746526/article/details/138112882
版权归原作者 顾得泉 所有, 如有侵权,请联系我们删除。

“C++实战演练---负载均衡在线oj项目预热”的评论:

还没有评论