
对象存储OSS
对象存储的作用
对象存储OSS是一个无层次结构的分布式存储产品,为用户提供单价较低且快速可靠的数据存储方案。用户可通过云服务器实例或互联网使用Web API接口存储和检索数据。在OSS上的数据,用户使用指定域名的URL地址,通过HTTP/HTTPS协议存储和检索每个独立的数据对象。对象存储需求用户,并不是个人买来当网盘用,而是企业或政府用户用于系统数据存储。例如企业系统的归档数据,网站、App的静态图片、音频、视频等。
对象存储OSS的优点如下:
高可靠性,OSS会对数据进行多次备份和校验,确保数据的完整性和可靠性,从而保证数据不会因为单个节点故障而丢失;
高可扩展性,OSS支持按需扩展存储空间和带宽,无需考虑硬件的限制,从而满足业务增长的需求;
简单易用,OSS提供了简单易用的API和控制台,用户可以轻松地上传、下载和管理存储的数据;
多种存储类型,OSS支持多种存储类型,包括标准存储、低频访问存储和归档存储,用户可以根据数据的访问频率和要求选择适合的存储类型,从而降低存储成本;
安全可靠,OSS提供了多种安全措施,包括数据加密、访问控制和防篡改等,确保用户数据的安全性。
MinIO
MinIO是一个基于Go语言的对象存储服务,它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。MinIO提供了所有主流开发语言的SDK,并且兼容亚马逊S3云存储服务接口。MinIO是Kubernetes的原生产品,是唯一一个可在每个公共云、每个Kubernetes发行版、私有云和边缘上使用的对象存储套件。
MinIO的部署
命令行安装:
# 创建一个工作目录
mkdir /opt/minio
cd /opt/mkdir
# 获取安装包
wget https://dl.min.io/server/minio/release/linux-amd64/minio
# 启动
/opt/minio/minio server /opt/minio/file --console-address :9001 --address :9000
docker安装:
# 拉取镜像
docker pull minio/minio
# 启动
docker run -p 9000:9000 --name minio -e "MINIO_ACCESS_KEY=administration" -e "MINIO_SECRET_KEY=administration" -v /usr/local/docker/minio/data:/data -v /usr/local/docker/minio/config:/root/.minio -d minio/minio server /data
Node.js使用MinIO
安装插件:
npm install -S minio
使用示例:
const Minio = require('minio')
// 文件路径
const filePath = 'D:\\logo.png';
const fileName = 'logo.png';
uploadFile(fileName,filePath);
async function uploadFile(fileName,filePath) {
//基本配置
let minioClient = new Minio.Client({
endPoint: '192.168.1.27', // 本机内网ip
port: 9000,
useSSL: false, // 不需要https
accessKey: 'admin', // 账号
secretKey: 'admin123456' // 密码
});
let isExist = await minioClient.bucketExists('imgbucket');
let err = '';
console.log('bucket is exist>>>',isExist);
if(!isExist) {
//创建桶后,需要在管理界面修改public访问权限,默认是private
err = await minioClient.makeBucket('imgbucket', 'cn-north-1');
}
if(!err) {
//上传文件
await minioClient.fPutObject('imgbucket', fileName, filePath);
console.log('返回给前端的文件路径>>>','http://192.168.160.27:9000/imgbucket/logo.png');
return 'http://192.168.160.27:9000/imgbucket/' + fileName;
}
}
实战经历
Right-House文件系统:MinIO
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果