Skip to content

1727370054/OrionLink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

微服务安全云盘项目

项目概述

微服务安全云盘项目是一套基于自制微服务框架的高性能云盘系统。该框架专为高并发设计,支持SSL/TLS加密通信,确保数据的安全性。主要包括核心服务组件:网关、注册中心、配置中心、鉴权中心和日志中心,每个组件都采用先进的网络I/O模型和数据处理技术,以提供稳定、安全且高效的文件存储与传输解决方案。

关键技术实现

网络I/O模型

  • libevent和定制线程池:采用libevent结合自研线程池实现“one loop per thread”模型,优化并发处理能力,提升系统的吞吐量和响应速度。

数据序列化

  • protobuf:使用protobuf进行高效的数据序列化和反序列化,提升了数据交换的灵活性和效率。

加密通信

  • OpenSSL集成:利用OpenSSL实现数据的加密传输,加强通信过程的安全性。

系统组件功能

网关

  • 负责服务请求的接收和路由。
  • 实现消息负载均衡和转发。
  • 支持自动重连及本地Token缓存机制。
  • 定期从注册中心更新微服务列表。

注册中心

  • 提供微服务的注册和发现。
  • 采用心跳机制维持服务连通性。
  • 支持服务列表的内存和磁盘缓存。

配置中心

  • 配置信息存储于MySQL,实现配置的持久化和动态更新。
  • 配置中心客户端支持配置信息的实时更新和缓存。

鉴权中心

  • 服务端通过MD5验证用户名和密码。
  • 客户端支持SSL登录,管理Token的存储和自动续期。

高级功能和稳定性措施

高可用性设计

  • 失败自恢复机制。
  • 自动重连、配置和服务列表的本地缓存。
  • 配置中心的动态IP刷新等。

日志系统

  • 高效的日志收集和存储系统。
  • 异步日志处理和网络传输。
  • 日志数据通过MySQL进行持久化存储。

客户端和服务端功能

客户端(QT开发)

  • 用户友好的界面,展示文件列表和磁盘空间。
  • 支持文件上传下载的进度显示和AES加密传输。

目录微服务

  • 管理文件路径和列表信息。
  • 支持在客户端构建用户专属的文件系统。
  • 不同权限的用户磁盘空间的空间限定

上传/下载微服务

  • 实现文件上传下载,采用AES加密和文件分片。
  • MD5校验确保文件的完整性。

快速开始

请按照doc目录下的install_linux.md系统的安装和部署。

或者使用cmake进行项目编译,项目依赖的第三方在install_linux.md中,根据要求进行部署即可。

数据库表和服务端口说明

数据库表说明

表名 所属服务 用途说明
ol_service_config 配置中心 微服务配置表
ol_log 日志中心 日志表
ol_auth 鉴权中心 用户信息表
ol_token 鉴权中心 token鉴权表

服务端口说明

端口号 所属服务
20010 网关
20011 网关(SSL)
20018 注册中心
20019 配置中心
20020 鉴权中心
20021 日志中心
20200 目录微服务
20201 上传微服务
20202 下载微服务

项目架构图

系统架构图

系统架构图

服务交互图

系统交互图

客户端安装

云盘客户端

在bin目录下,下载OL云盘.msi安装包安装

配置管理工具

在bin目录下,下载OL微服务配置管理工具.msi安装包安装

客户端部分功能界面展示

登陆界面

登陆界面

主界面

主界面

传输任务界面

传输界面

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published