1.什么是对象存储
对象存储服务OSS是海量高可靠的云存储服务,不限文件数量和大小,可以根据所需存储量无限扩展存储空间,支持流式写入和读出,特别适合非结构化大文件的业务场景。
方便快捷的使用方式
提供标准的RESTful API接口、丰富的SDK包、客户端工具、控制台。可以像使用文件一样方便地上传、下载、检索、管理用于Web网站或者移动应用的海量数据。
不限文件数量和大小。可以根据所需存储量无限扩展存储空间,解决了传统硬件存储扩容问题。
支持流式写入和读出。特别适合视频等大文件的边写边读业务场景。
支持数据生命周期管理。可以自定义将到期数据批量删除或者转入到低成本的归档服务。
存储空间大
阿里云OSS的用户可以在任何时间、任何地点上传和下载数据。基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。用户可以存储和管理多大上千亿个数据对象(data object,可以使任何内容的文件,如数据记录,图片,流媒体文件等),每个数据对象大小可达20GB。OSS还能通过对象组合的方法构建最大5TB的单一对象。
数据可靠性
阿里云OSS基于飞天大规模分布式计算系统,OSS拥有数据自动冗余、故障自动恢复的能力。OSS向用户承诺服务全年可用性99.9%,数据可靠性大于十个9。OSS支持类似传统文件系统的目录结构,便于用户组织数据。存储在OSS的每个数据对象都拥有唯一的URL,便于用户在网页或移动应用上展示。OSS提供了PHP,Python,Java等多种语言的SDK方便数据读写。
其他增值服务
图片处理:支持jpg、png、bmp、gif、webp、tiff等多种图片格式的转换,以及缩略图、剪裁、水印、缩放等多种操作。
音视频转码:提供高质量、高速并行的音视频转码能力,让您的音视频文件轻松应对各种终端设备。
2.OSS与NAS的区别
1、技术:OSS是对象存储;NAS是传统的NFS,即挂载共享文件夹;
2、使用方式:OSS使用阿里丰富的API,提供了PHP,Python,Java等多种语言的SDK;而NAS像访问磁盘一样不需要改任何程序,一般高IO带宽或高IOPS应用场景不建议使用NAS作为存储介质;
3、存储内容:OSS和NAS的存储内容基本类似,面向的都是图片、文档等静态文件的存储;对于零散的数据(如文本文件、办公文档、图片、视频、音频等)且有多区域或多用户共享或权限要求严格的需求可以使用NAS作为存储介质,且不影响整体交易类数据;
4、容量:OSS单个bucket大小无限制;NAS单个文件系统最大1PB;
5、性能:系统组之前完成过OSS NAS性能测试,OSS性能不如NAS,可以通过断点续传上传文件/断点续传下载等方式提升性能。
6、集群访问:NAS文档中提到NFS 协议本身并没有提供Atomic Append语义的支持,因此可能会出现写覆盖、交叉、串行等异常现象;OSS的无此类问题,即集群文件共享功能。
3.docker与k8s
1.Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。
三大核心概念分别是:镜像(Image)、容器(Container)、仓库(Repository)
2.K8S是基于容器的集群管理平台,它的全称是kubernetes。
一个K8S系统,通常称为一个K8S集群(Cluster)。这个集群主要包括两个部分:一个Master节点(主节点)、一群Node节点(计算节点)
4.如何将前端部署到docker中
参考https://zhuanlan.zhihu.com/p/83309276
Docker 中有两个重要概念。
一个是容器(Container):容器特别像一个虚拟机,容器中运行着一个完整的操作系统。可以在容器中装 Nodejs,可以执行npm install,可以做一切你当前操作系统能做的事情
另一个是镜像(Image):镜像是一个文件,它是用来创建容器的。
1.Docker的安装:出现小鲸鱼后检查版本docker version
2.运行 Docker
创建一个Dockerfile文件,这个文件与index.html
文件放在同一目录中
//写在Dockerfile文件中
FROM nginx
#基于某一镜像
COPY ./index.html /usr/share/nginx/html/index.html
#将宿主机中的./index.html文件
#复制进容器里的/usr/share/nginx/html/index.html
EXPOSE 80
#容器对外暴露80端口
3.打包镜像
在命令行中进行打包
cd hello-docker/ # 进入刚刚的目录
docker image build ./ -t hello-docker:1.0.0 # 打包镜像
#意思是:基于路径./(当前路径)打包一个镜像,
#镜像的名字是hello-docker,版本号是1.0.0
注意!此时开始下载镜像,但是十分缓慢,我们可以使用阿里云提供的镜像
参考:Windows上Docker Toolbox修改镜像源
第一步:在config.json中修改文件
# cmd 中执行 start 打开资源管理器
start %DOCKER_CERT_PATH%
#在$.HostOptions.EngineOptions.RegistryMirror的数组中加入阿里云链接
第二步:保存修改
这一步中出现linux命令行,linux基本命令
i:insert,在当前光标所在字符的前面,转为输入模式
ESC:输入模式–>命令模式
wq:保存并退出
#在Windows命令行执行
docker-machine ssh [machine-name]
#进入VM bash
sudo vi /var/lib/boot2docker/profile
#在–label provider=virtualbox的下一行添加
#--registry-mirror https://xxxxxxxx.mirror.aliyuncs.com
第三步:退出重启
exit
# 重启 docker-machine
docker-machine restart default
# 检查 修改是否完成
docker-machine inspect default
注意!服务器与客户端版本不统一
export DOCKER_API_VERSION=1.22 #更新我的版本
镜像结果:
Sending build context to Docker daemon 3.072kB
Step 1/3 : FROM nginx
---> 5a3221f0137b
Step 2/3 : COPY ./index.html /usr/share/nginx/html/index.html
---> 1c433edd5891
Step 3/3 : EXPOSE 80
---> Running in c2ff9ec2e945
Removing intermediate container c2ff9ec2e945
---> f6a472c1b0a0
Successfully built f6a472c1b0a0
Successfully tagged hello-docker:1.0.0
4.运行容器
docker container create -p 2333:80 hello-docker:1.0.0 #端口号可变
docker container start xxx # xxx 为上一条命令运行得到的结果
docker images #查看是否打包成功
docker-machine ip default #查看自己的ip地址
#最后就可以通过ip:端口号查看自己的html
5.打包我的vuetest文件夹
1.vue本身的打包:npm run build
2.打包成一个dist
文件夹,将镜像文件与dist文件夹中的html文件写在同一级
# 设置基础镜像
FROM nginx
# 定义作者
MAINTAINER ccz
#将当前文件的同级文件夹都打包
COPY ./ /usr/share/nginx/html/
EXPOSE 80