[![Build Status](https://travis-ci.org/HiCooper/oss-backend.svg?branch=master)](https://travis-ci.org/HiCooper/oss-backend)
# 介绍
## [文档](https://hicooper007.gitbook.io/oss/)
## 最新更新
- 合规保留策略
## 相关模块
| 项目 | 描述 |
|------|------|
| [oss-java-sdk](https://github.com/HiCooper/oss-sdk-java) | JAVA SDK |
| [oss-front](https://github.com/HiCooper/oss-front) | 前端工程,React 实现|
| [oss-data-service](https://github.com/HiCooper/oss-data-service) | 分布式数据读取存储服务 |
## 项目demo示例
![Demo](docs/demo.png)
Demo 示例在线地址(服务器带宽1M !!!加载慢!!!):[www.hicooper.cn](https://www.hicooper.cn)
```text
username: test
password: 123456
```
## QA...
### Q 1.什么是对象存储?
A: 对象存储是一种计算机数据存储体系结构,它将数据作为对象进行管理,而不是将数据作为文件层次结构进行管理的文件系统等其他存储体系结构, 以及将数据作为扇区和轨道内的块进行管理的块存储。每个对象通常包括数据本身,可变数量的元数据和全局唯一标识符。 ------ 来自 [维基百科](https://en.wikipedia.org/wiki/Object_storage)
白话文:将数据视为对象,存入系统后得到全局唯一标识,通常可通过 HTTP 请求进行数据对象的增删改查;
特点:
* 容量水平扩展
* 冗余备份,空间利用率相对传统全备份高,(CPU计算,时间换空间?)
### Q 2.适用场景?
A:
* 图片、视频、音频、日志等海量文件存储
* 其他非结构化数据
### Q 3.怎么用?
> 默认开启 consul 注册发现,不需要可关闭
A:
* 单机模式:(性能容量有限,毕竟是单机,无纠错,无冗余) 启动 oss-backend 项目,将前端项目 oss-front build后 丢到一个 http 服务器下,完。
* 多机模式:(该项目使用 RS\(4 + 2\) 纠错恢复,理论上至少需要 6 台机器,当然,用一台机器跑6个端口也是可行的!) 启动 oss-backend 项目,在 6台服务器上分别启动 oss-data-service 项目,mysql region 配置 ip 端口(没有region 管理。。。)
> 注: oss-backend 也可以用 nginx 负载均衡下 启动多个实例
### Q 4.功能特性?
A:
* 多机模式下,冗余纠错恢复数据,示例中使用 6台服务器,即将数据分片 6 分,分别存储到各机器,RS\(4 + 2\),允许 其中任意 2 台 机器宕机,或者其他原因导致的数据损坏,丢失
均可恢复原始数据;可接受范围内数据损坏自动修复
* 全局资源唯一,系统将会计算 资源hash,同样的资源在系统中 只会存在一份,实现系统已有资源极速上传;
* 热点数据缓存
### RS (4+2) 算法数学原理
![1](docs/screenshot-20210222-204529.png)
![2](docs/screenshot-20210222-204551.png)
## oss-backend 微服务基本项目结构
用到spring boot ,spring-security, mybatis-plus,undertow,druid,logback日志归档,提供swagger接口文档,基础代码自动生成
### 源码src结构
软件架构说明
aop -- 切片方法
api -- 控制器 api 入口
common -- 公共包
config -- 配置类
dao -- 数据库访问层
erasure -- RS 纠错
lock -- 分布式锁
module -- 请求、响应等DTO对象
quartz -- 定时器任务
security -- 访问安全
service -- 业务服务层
### 通用集成服务
邮件异步发送
### 开发支持
感谢 JetBrains 提供的 Free Open Source license(s)
[![JetBrains](./docs/jetbrains.svg)](https://www.jetbrains.com/?from=https://github.com/HiCooper/oss-backend)
没有合适的资源?快使用搜索试试~ 我知道了~
仿写阿里云OSS,分布式对象存储OSS后端,支持javasdk授权访问
共253个文件
java:202个
xml:15个
yml:9个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 26 浏览量
2023-10-23
10:46:20
上传
评论
收藏 500KB ZIP 举报
温馨提示
matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
仿写阿里云OSS,分布式对象存储OSS后端,支持javasdk授权访问 (253个子文件)
gradlew.bat 2KB
task_scheduled.csv 32B
Dockerfile 219B
.gitignore 491B
build.gradle 4KB
sonar.gradle 702B
settings.gradle 33B
gradlew 5KB
gradle-wrapper.jar 53KB
ObjectServiceImpl.java 36KB
DateUtils.java 17KB
ReedSolomon.java 13KB
ObjectId.java 13KB
Galois.java 12KB
ConvertTools.java 11KB
Matrix.java 10KB
ObjectHashServiceImpl.java 9KB
ReedSolomonBenchmark.java 9KB
ObjectController.java 9KB
DataServiceImpl.java 8KB
ReedSolomonEncoderService.java 8KB
RSAUtil.java 7KB
BucketServiceImpl.java 7KB
StringUtils.java 6KB
AuthFilter.java 6KB
HotDataCacheServiceImpl.java 6KB
WormStrategyServiceImpl.java 6KB
AuthController.java 6KB
ReedSolomonDecoderService.java 6KB
SecurityConfiguration.java 6KB
IObjectService.java 5KB
Auth.java 5KB
TokenProvider.java 5KB
CodingLoop.java 5KB
GlobalExceptionHandler.java 5KB
BucketController.java 4KB
AccessProvider.java 4KB
CodeGenerator.java 4KB
AccessKeyServiceImpl.java 4KB
RedisLockServiceImpl.java 4KB
AuthServiceImpl.java 4KB
HttpClient.java 3KB
ShardSaveServiceImpl.java 3KB
StatisticsServiceImpl.java 3KB
LockService.java 3KB
LogMethodAspect.java 3KB
RedisConfig.java 3KB
RegionController.java 3KB
PolicyServiceImpl.java 3KB
OutputInputByteTableAbstractCodingLoop.java 3KB
SecurityUtils.java 3KB
UserDetailServiceImpl.java 3KB
WebMvcConfig.java 3KB
Constants.java 3KB
NetworkUtils.java 3KB
Result.java 2KB
Assertions.java 2KB
AccessInterceptor.java 2KB
SHA256.java 2KB
WormStrategyController.java 2KB
ResultCode.java 2KB
QuartzJobManagement.java 2KB
OSSServiceApplication.java 2KB
DruidConfig.java 2KB
AccessKeyInfoController.java 2KB
StatisticsController.java 2KB
StatisticsAspect.java 2KB
CommonConstant.java 2KB
AsyncConfiguration.java 2KB
IBucketService.java 2KB
WormCheckJob.java 2KB
PolicyController.java 2KB
IDataService.java 2KB
LoginLogAspect.java 2KB
StoreModelController.java 2KB
StringMap.java 2KB
ResultFactory.java 2KB
QuartzConfig.java 1KB
User.java 1KB
ObjectInfo.java 1KB
SignatureDoesNotMatch.java 1KB
FileInfoDTO.java 1KB
CsvUtils.java 1KB
UndertowConfig.java 1KB
AbstractCodingLoop.java 1KB
BucketInfoDaoServiceImpl.java 1KB
PolicyInfo.java 1KB
SwaggerConfig.java 1KB
IObjectHashService.java 1KB
FilterConfigurer.java 1KB
IPolicyService.java 1KB
CorsConfig.java 1KB
IWormStrategyService.java 1KB
MybatisPlusConfig.java 1KB
AccessKeyInfo.java 1KB
UserDaoServiceImpl.java 1KB
BaseException.java 1KB
Json.java 1KB
GlobalProperties.java 1KB
RefererInfo.java 1KB
共 253 条
- 1
- 2
- 3
资源评论
天天501
- 粉丝: 606
- 资源: 4665
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功