C++项目 - 负载均衡OJ - 1 - 项目概述

负载均衡OJ:

C++项目 - 负载均衡OJ - 1 - 项目概述_第1张图片

项目概述

  • 负载均衡OJ:
  • 项目结果展示:
  • 项目技术栈概述:
    • 技术栈:
      • 后端:
      • 前端:
    • 开发环境:
      • 开发工具:
      • 运行环境:
  • 项目目录结构:
    • 功能模块:
    • 编写思路:

项目结果展示:

  • 图先欠着,做完了项目再补上,太鼠了
  • 做完了,但是不太好写博客,在考虑从文件出发还是从功能出发去讲这个项目

项目技术栈概述:

技术栈:

后端:

  1. STL模板库
  2. Boost标准库 - 用于字符串切割
  3. cpp-httplib 第三方开源网络库 - 化简Socket使用
  4. jsoncpp 第三方开源序列化&反序列化库 - 网络传输字符串
  5. 负载均衡设计算法
  6. 多进程 & 多线程
  7. MySql C connect

前端:

  1. html / css / js
  2. Jquery / Ajax
  3. Ace前端在线编辑器
  4. ctemplate 第三方开源前端网页渲染库

开发环境:

开发工具:

  • Vscode
  • 下载Remote - SSH插件:
    C++项目 - 负载均衡OJ - 1 - 项目概述_第2张图片
  • 安装完成后:F1 / Fn+F1,选择Add SSH Host:
    C++项目 - 负载均衡OJ - 1 - 项目概述_第3张图片
  • 添加云服务器和用户:
ssh username@云服务器公网ip

ssh usr@ip

  • 添加成功后的提示:
    C++项目 - 负载均衡OJ - 1 - 项目概述_第4张图片

    • 想看看连接配置可以点击Open Config看看
    • 想快点连接云服务器就直接Connect
  • 准备连接云服务器:
    C++项目 - 负载均衡OJ - 1 - 项目概述_第5张图片

  • 输入刚才准备连接用户的密码:
    Password

  • 连接成功:打开文件,开始写项目
    C++项目 - 负载均衡OJ - 1 - 项目概述_第6张图片

  • 进入/切换文件夹需要权限,再输入一次密码:
    Password

  • PS:连接成功的标志
    C++项目 - 负载均衡OJ - 1 - 项目概述_第7张图片

运行环境:

  • Linux Centos 7云服务器
  • 还没有云服务器的同学看这里:云服务器购买与配置
  • 不熟悉linux操作系统的同学还是先学习学习进程/线程/网络吧:从底层看Linux

项目目录结构:

功能模块:

  • 四大功能模块
    C++项目 - 负载均衡OJ - 1 - 项目概述_第8张图片
  • client:只负责发起请求
    1. 请求查看题目列表
    2. 请求查看具体某题
    3. 请求提交代码
  • MySql/文件:
    1. 存储静态资源,如html/题目描述
  • oj_server:
    1. 识别不同的请求类型
    2. 对于非提交代码,直接返回静态资源
    3. 将需要编译的代码提交给选定的compile_server
  • compile_server:
    1. 编译运行所提交的代码
    2. 返回格式化的结果

编写思路:

  1. 先编写功能较简单的compile_server
  2. 再编写oj_server
  3. Version1:文件存储题目
  4. 前端页面设计
  5. Version2:Mysql存储题目

你可能感兴趣的:(#,Linux项目,c++,linux,json,服务器,负载均衡)