关于oss:各个对象存储服务的上线时间

aws s3 服务上线工夫:2006年3月14日 谷歌 Cloud Storage 服务上线工夫:2010年 aliyun oss服务上线工夫:2010年9月份 华为对象存储 obs 服务上线工夫:2013 年 腾讯云对象存储COS服务上线工夫:2013 年

May 10, 2023 · 1 min · jiezi

关于oss:如何登录-oss-的账号密码是什么

如何登录 ossoss 的账号密码是什么为什么 oss 没有账号密码如何获取 oss 的账号密码oss 没有账号密码 oss 剽窃的是 AWS 的 S3 所以只有 access_key 和 secret_key 的概念 你能够把 access_key 了解为 username ,把 secret_key 了解为 password

May 10, 2023 · 1 min · jiezi

关于oss:阿里云oss封装成springbootstarter

一、创立spring-boot-starter-oss自定义 Spring Boot Starter 能够将某个性能或模块封装成一个依赖,以便其余我的项目能够不便地引入和应用。以下是一个简略的 Spring Boot Starter 实现示例,用于封装阿里云 OSS 的操作. 1、创立一个 Maven 我的项目并增加依赖,在 pom.xml 文件中增加以下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> <version>2.6.2</version></dependency><dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.13.1</version></dependency>2、创立主动配置类创立一个主动配置类 OssAutoConfiguration,在该类中配置阿里云 OSS 的相干信息,并创立一个 OssTemplate Bean,用于封装 OSS 操作。示例代码如下: @Configuration@EnableConfigurationProperties(OssProperties.class)public class OssAutoConfiguration { private final OssProperties ossProperties; public OssAutoConfiguration(OssProperties ossProperties) { this.ossProperties = ossProperties; } @Bean @ConditionalOnMissingBean public OssTemplate ossTemplate() { OSS ossClient = new OSSClientBuilder() .build(ossProperties.getEndpoint(), ossProperties.getAccessKeyId(), ossProperties.getAccessKeySecret()); return new OssTemplate(ossClient); }}在这个示例中,@EnableConfigurationProperties 注解用于启用 OssProperties 属性类的配置,并在构造方法中注入该属性类。@ConditionalOnMissingBean 注解示意如果应用程序中不存在名为 ossTemplate 的 Bean,则创立一个新的 OssTemplate Bean。 ...

March 5, 2023 · 2 min · jiezi

关于oss:投稿开奖丨轻量应用服务器征文活动5月奖励公布

小书生来发奖啦~本次颁布轻量应用服务器征文活动在2022年5月份的获奖名单。 在5月份的投稿用户中,共计10人取得处分。其中,昵称为vine、Riki、潘一凡、imylk、Veinc、樱桃园、Spider、完满的主题曲等8名用户取得阳光普照奖,每人可取得代金券30元;昵称为黄家臣、为之工作室的用户别离取得优良创作奖和最佳实际奖,别离可取得代金券300元和代金券1000元。 优良创作奖奖项:优良创作奖 处分:300元代金券获奖者:黄家臣获奖关键词:MySQL/Nginx配置,博客环境搭建文章链接:征文投稿丨应用轻量应用服务器搭建博客环境最佳实际奖奖项:最佳实际奖 处分:1000元代金券获奖者:为之工作室获奖关键词:中小型我的项目、运维实际、框架残缺、搭配OSS文章链接:征文投稿丨基于轻量应用服务器+OSS的中小型利用运维实际代金券将在7个工作日内发放到获奖用户的阿里云账号中,有效期30天(从发放日开始计);代金券可用于新购、续费、降级轻量应用服务器,局部超低折扣流动除外。如果你在上面看到了本人的投稿,请记得登录阿里云账号支付代金券哦~ “ 我大学是学计算机专业的,那个时候还是小白对服务器是什么一点都不晓得,起初一次偶尔的机会,发现了阿里云平台,我意识了轻量应用服务器。为了可能让本人开发的货色胜利上线,每天都钻研这怎么搞,那个怎么搞,最初的成就感真的是无可比拟,当初我曾经胜利上线了我的专属网站,并且胜利的把我的网站推给敌人们,他们都感觉很nice,非常感谢阿里云,让我关上了新的大门,让我迈入了一个新的台阶。 --by 用户Riki ” “ 我在阿里云买的第一台服务器是爆款直降外面的2核 2G 5M轻量应用服务器,开了机就装了个宝塔,搭配各种组件做了本人的第一个聊天机器人、本人的第一个网站和本人的第一个网盘。有了这个服务器,有什么应用服务齐全能够本人组建,不再受别的厂商的限度,随时随地灵便调整,性价比也管制得十分好。当初我曾经用这个服务器有8个月了,正在入门ECS学更高层的操作。不过我认为对于不善于管制老本或纯小白刚入门的玩家,轻量应用服务器无疑还是最佳抉择。 --by 用户imylk ” “ 很早之前就想要搭建一个属于本人的博客了!那是一次双11 大减价流动,我记得那天通宵了,到了11.11日的00:00的时候,我动手了轻量应用服务器。首先我 抉择了 Alibaba Cloud Linux ,而后一番钻研配置 nginx 以及 mysql,git 等服务,推敲上来居然天黑了,我却没有丝毫困意!我公布了本人的博客并且购买了域名,起初又缓缓摸索学习了一些其余的常识。 --by 用户Spider ” “ 大学毕业后没有学生折扣,服务器加价格对于刚毕业的我来说太贵了,搭建一些公司的服务只能本地搭建。起初偶然间发现轻量应用服务器,价格还能够,本人搭建个小网站应用,配置也够用,在本人电脑本地写好,再部署到服务端也很不便。轻量应用服务器提供了管理权限,用户能够任意自定义须要的环境;它提供了丰盛多样的规范环境镜像,还集成了阿里云其余建站必备的服务接口,使建站一键实现,应用十分便捷。 --by 用户完满的主题曲 ” “ 基于阿里云的轻量应用服务器,我搭建了一个游戏服务器,和敌人们分享其余的游戏模式,整个搭建过程十分顺利。同时还在服务器上搭建了teamspeak服务器和基于wordpress的集体博客,拜访也十分晦涩。一台轻量应用服务器解决了我很多的需要,一年也才不到一百块钱,很值得购买。 --by 用户Veinc ” “ 记一个小Bug的解决过程。应用轻量应用服务齐全装置了Jenkins容器docker run之后状态总是Exited,通过“docker logs jenkins ”查看docker日志 ,发现是目前权限问题,因为/data/jenkins_home 目录是root权限。 解决方案:chown -R 1000:1000 /data/jenkins_home //用户组扭转。 --by 用户潘一凡 ” “ 我应用香港的轻量应用服务器部署k3s低资源占用集群,并搭建可视化高性能网关apisix。服务器配置是1核1G,此配置无奈开启 ingress-controller,请禁用 tls和ingress-controller 即无奈应用 ApisixTls 配置证书。 --by 用户vine ” ...

July 1, 2022 · 1 min · jiezi

关于oss:如何使用棱束链快速搭建-Cloudreve-自建低成本网盘实践

Cloudreve 介绍Cloudreve 能够让您疾速搭建起公私兼备的网盘零碎。Cloudreve 在底层反对不同的云存储平台,用户在理论应用时毋庸关怀物理存储形式。你能够应用 Cloudreve 搭建集体用网盘、文件分享零碎,亦或是针对大小个人的私有云零碎。 官网:Cloudreve.org装置 Cloudreve你能够返回 GitHub Release 页面获取曾经构建打包实现的主程序,思考到国内拜访较慢,故此提供cloudreve v3.5.3棱束链高速下载链接: Cloudreve_3.5.3_linux_amd64.tar.gzCloudreve_3.5.3_linux_arm.tar.gzCloudreve_3.5.3_linux_arm64.tar.gzCloudreve_3.5.3_windows_amd64.zip启动 Cloudreve Linux: #解压获取到的主程序tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz# 赋予执行权限chmod +x ./cloudreve# 启动 Cloudreve./cloudreveWindows: Windows 下,间接解压获取到的 zip 压缩包,启动 cloudreve.exe 即可。 批改存储策略为棱束链对象存储首次启动 Cloudreve 后能够看到这样的输入,阐明 Cloudreve启动胜利了,你能够在浏览器中拜访http://服务器IP:5212进入 Cloudreve。 ___ _ _ / __\ | ___ _ _ __| |_ __ _____ _____ / / | |/ _ \| | | |/ _ | '__/ _ \ \ / / _ \/ /___| | (_) | |_| | (_| | | | __/\ V / __/\____/|_|\___/ \__,_|\__,_|_| \___| \_/ \___| V3.5.3 Commit #0e5683b Pro=false================================================[Info] 2022-06-18 21:04:14 初始化数据库连贯[Info] 2022-06-18 21:04:14 开始进行数据库初始化...[Info] 2022-06-18 21:04:14 初始管理员账号:admin@cloudreve.org[Info] 2022-06-18 21:04:14 初始管理员明码:HJVs7mkh[Info] 2022-06-18 21:04:14 开始执行数据库脚本 [UpgradeTo3.4.0][Info] 2022-06-18 21:04:14 数据库初始化完结[Info] 2022-06-18 21:04:14 初始化工作队列,WorkerNum = 10[Info] 2022-06-18 21:04:14 初始化定时工作...[Info] 2022-06-18 21:04:14 以后运行模式:Master[Info] 2022-06-18 21:04:14 开始监听 :52122 . 进入 Cloudreve后输入您启动终端上的初始管理员账号和明码进行登录。 ...

June 19, 2022 · 1 min · jiezi

关于oss:征文投稿丨基于轻量应用服务器OSS的中小型应用运维实践

本文来自于轻量应用服务器征文活动用户投稿,已取得用户(昵称:为之工作室)受权公布。 我是西安电子科技大学为之工作室的运维负责人,为之工作室致力于互联网人才的造就,波及到很多我的项目的部署及运维。这类我的项目的特点是并发量较小,资源占用低,内部组件依赖简略。本文会介绍这些我的项目的运维模式及相干实际分享,为相似的我的项目运维提供参考。 一、架构设计出于节省成本的思考,心愿能够将多个我的项目部署在同一个服务器上。此外,对于中小型我的项目,尽管对于高并发的需要可能并不是十分大,然而依然须要高可用性。本人进行服务器硬件保护的老本和精力是微小的,所以必须充分利用云厂商的服务器资源,咱们抉择的是技术当先、产品欠缺的阿里云。 咱们的我的项目都是前后端拆散的,为了节俭带宽,将前端部署在 OSS 上,服务器上只用部署后端即可,这样整个工作室只须要一台轻量应用服务器及多个 OSS 实例。其中 OSS 实例的费用是能够忽略不计的,而轻量应用服务器的理论破费,均匀下来也只须要 1 个月 10 元。 轻量应用服务器 ,是可疾速搭建且易于治理的轻量级云服务器;提供基于单台服务器的利用部署,平安治理,运维监控等服务,一站式晋升服务器应用体验和效率。对象存储OSS,是一款海量、平安、低成本、高牢靠的云存储服务,提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性;多种存储类型供选择,全面优化存储老本。下图为运维架构图,服务器应用 Ubuntu + Docker 部署根底服务及业务后端,而 MySQL 和 Redis 等依赖则应用阿里云提供的服务。 二、网关配置选用 Traefik 作为网关。相比 Nginx,Traefik 对 Docker 容器具备更好的支持性,且集成 Let's Encrypt 主动申请、保护 HTTPS 证书。 首先创立网络 :docker network create traefik 文件中的 ${} 须要依据本人理论状况编写 ~/.docker/compose/traefik/docker-compose.ymlYAMLversion: "3.3"services: traefik: image: traefik ports: - "443:443" volumes: - /var/run/docker.sock:/var/run/docker.sock - ./traefik.yml:/etc/traefik/traefik.yml - ./dynamic_conf.yml:/root/dynamic_conf.yml - ~/.docker/volume/traefik/crt:/root/crt - ~/.docker/volume/traefik/log:/root/log restart: unless-stopped networks: - traefik environment: ALICLOUD_ACCESS_KEY: ${AK} ALICLOUD_SECRET_KEY: ${SK} extra_hosts: - "host.docker.internal:172.18.0.1" # 172.18.0.1 是容器拜访宿主机的 ip,通过 docker inspect 获取 labels: - com.centurylinklabs.watchtower.enable=falsenetworks: traefik: external: true请确保 *.be.wizzstudio.com 域名解析至这台服务器;配置中 "root:$2b$12$aur8GtnfMi" 是 Traefik Basic Auth 账号密码,请通过 https://doc.traefik.io/traefi... 门路生成。 ...

June 17, 2022 · 3 min · jiezi

关于oss:阿里云618有奖体验搭建基于OSS的图片分享网站

体验简介本场景将提供一台根底环境为CentOS的ECS(云服务器)实例和曾经创立好的PolarDB数据库实例。咱们将会在这台服务器上安装WordPress,帮忙您疾速搭建本人的云上博客。 618 有奖体验 点击返回,赢取猫超卡! 背景常识● 云服务器ECS云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳固牢靠、弹性扩大的IaaS(Infrastructure as a Service)级别云计算服务,免去了您洽购IT硬件的后期筹备,让您像应用水、电、天然气等公共资源一样便捷、高效地应用服务器,实现计算资源的即开即用和弹性伸缩。● 文件存储OSS阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量、平安、低成本、高牢靠的云存储服务。用户能够通过调用API,在任何利用、任何工夫、任何地点上传和下载数据,也能够通过用户Web控制台对数据进行简略的治理。OSS适宜寄存任意文件类型,适宜各种网站、开发企业及开发者应用。阿里云OSS图片解决服务(Image Service,简称 IMG) ,是阿里云OSS对外提供的海量、平安、低成本、高牢靠的图片解决服务。用户将原始图片上传保留在OSS上,通过简略的 RESTful 接口,在任何工夫、任何地点、任何互联网设施上对图片进行解决。图片解决服务提供图片解决接口,图片上传请应用OSS上传接口。基于IMG,用户能够搭建出跟图片相干的服务。图片服务解决的图片来自于OSS,所以图片的上传理论是上传到OSS的同名Bucket中。在实在的工作场景中,个别将图片、音频、视频等存储到OSS服务中,这样能够极大的进步用户的页面访问速度。 本步骤将领导您如何应用Workbench近程连贯ECS服务器。重要:ecs免费资源请至阿里云云起实验室收费支付1、双击关上虚构桌面的Chromium浏览器。 2、在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户明码到用户明码输入框,点击登录。 3、复制下方地址,在Chromium浏览器关上新页签,粘贴并拜访云服务器ECS控制台。 https://ecs.console.aliyun.com4、在左侧导航栏中,抉择实例与镜像>实例。 5、在实例页面顶部,抉择资源所在地区。例如下图中,地区切换为华东2(上海)。 6、在实例页面,找到您的ECS实例,单击操作列下的近程连贯。 阐明 :您可在云产品资源列表中查看指标实例的实例ID。 7、在近程连贯与命令对话框的Workbench近程连贯区域中,单击立刻登录。 8、在登录实例对话框中,输出ECS服务器的明码,单击确定。 阐明:您能够在云产品资源列表中查看到您的ECS服务器明码。 返回如下页面,示意您曾经胜利近程连贯到ECS服务器。 展现基于ECS的图片分享网站本步骤为您展现基于ECS已搭建实现的图片分享网站,以及图片分享网站的源码。 \1. 在Chromium浏览器关上新页签,在地址栏输出http://<ECS公网地址>,拜访图片分享网站。 阐明 :您能够在云产品资源列表中查看到您的ECS云服务器的弹性IP。 返回如下页面,您能够查看到以后页面中显示1张 “花园” 的图片,该图片理论是由 4 张小图片组成的。 \2. 切换至Workbench近程连贯页签,执行如下命令,进入网站零碎的根目录。 cd /alidata/www/default\3. 执行如下命令,查看网站零碎的根目录下的文件。 ls返回后果如下,您能够在该目录下看到有01.png、02.png、03.png和04.png四张图片,图片分享网站所展现的“花园”图片就是由这四张图片组成。 \4. 在Chromium网页浏览器关上新页签,在地址栏中输出http://<ECS服务器的弹性IP)>/01.png并拜访。 返回如下页面,您能够看到01.png的图片内容。反复第四步,您能够看到02.png, 03.png和04.png的图片内容。 \5. 执行如下命令,查看图片分享网站的源码。 cat index.html返回如下后果,您能够看到图片分享网页中显示的图片,是从网站零碎根目录/alidata/www/default中,读取图片01.png,02.png,03.png和04.png拼接的。 搭建基于ECS和OSS图片分享网站本步骤将领导您如何在ECS实例上调用OSS API上传图片到OSS中。 1、在Workbench近程连贯页签,配置cfg.json文件中的OSS信息。 ...

June 9, 2022 · 1 min · jiezi

关于oss:搭建基于OSS的图片分享网站反馈有礼

“云上散步”第二期-反馈有礼参加体验产品,提交反馈,就有机会取得定制背包,T恤,以及5到100元对象存储OSS专属代金券~反馈地址:https://developer.aliyun.com/adc/series/ysmb2 简介(阿里云资源无费用无门槛,收费取用)本场景将提供一台配置了CentOS 7.7操作系统的ECS实例(云服务器)和一个对象存储OSS。通过本教程的操作,您能够基于CentOS 7.7操作系统的ECS实例和文件存储OSS,搭建一个图片分享网站。 背景常识云服务器ECS云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳固牢靠、弹性扩大的IaaS(Infrastructure as a Service)级别云计算服务,免去了您洽购IT硬件的后期筹备,让您像应用水、电、天然气等公共资源一样便捷、高效地应用服务器,实现计算资源的即开即用和弹性伸缩。 文件存储OSS阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量、平安、低成本、高牢靠的云存储服务。用户能够通过调用API,在任何利用、任何工夫、任何地点上传和下载数据,也能够通过用户Web控制台对数据进行简略的治理。OSS适宜寄存任意文件类型,适宜各种网站、开发企业及开发者应用。 阿里云OSS图片解决服务(Image Service,简称 IMG) ,是阿里云OSS对外提供的海量、平安、低成本、高牢靠的图片解决服务。用户将原始图片上传保留在OSS上,通过简略的 RESTful 接口,在任何工夫、任何地点、任何互联网设施上对图片进行解决。图片解决服务提供图片解决接口,图片上传请应用OSS上传接口。基于IMG,用户能够搭建出跟图片相干的服务。图片服务解决的图片来自于OSS,所以图片的上传理论是上传到OSS的同名Bucket中。 在实在的工作场景中,个别将图片、音频、视频等存储到OSS服务中,这样能够极大的进步用户的页面访问速度。 获取资源后连贯ECS服务器本步骤将领导您如何应用Workbench近程连贯ECS服务器。 1、双击关上虚构桌面的Chromium浏览器。 2、在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户明码到用户明码输入框,点击登录。 3、复制下方地址,在Chromium浏览器关上新页签,粘贴并拜访云服务器ECS控制台。 https://ecs.console.aliyun.com4、在左侧导航栏中,抉择实例与镜像>实例。 5、在实例页面顶部,抉择资源所在地区。例如下图中,地区切换为华东2(上海)。 6、在实例页面,找到您的ECS实例,单击操作列下的近程连贯。 阐明 :您可在云产品资源列表中查看指标实例的实例ID。 7、在近程连贯与命令对话框的Workbench近程连贯区域中,单击立刻登录。 8、在登录实例对话框中,输出ECS服务器的明码,单击确定。 阐明:您能够在云产品资源列表中查看到您的ECS服务器明码。 返回如下页面,示意您曾经胜利近程连贯到ECS服务器。 展现基于ECS的图片分享网站本步骤为您展现基于ECS已搭建实现的图片分享网站,以及图片分享网站的源码。 1.在Chromium浏览器关上新页签,在地址栏输出http://<ECS公网地址()弹性IP)>,拜访图片分享网站。 阐明 :您能够在云产品资源列表中查看到您的ECS云服务器的弹性IP。 返回如下页面,您能够查看到以后页面中显示1张 “花园” 的图片,该图片理论是由 4 张小图片组成的。 切换至Workbench近程连贯页签,执行如下命令,进入网站零碎的根目录。cd /alidata/www/default3.执行如下命令,查看网站零碎的根目录下的文件。 ls返回后果如下,您能够在该目录下看到有01.png、02.png、03.png和04.png四张图片,图片分享网站所展现的“花园”图片就是由这四张图片组成。 4.在Chromium网页浏览器关上新页签,在地址栏中输出http://<ECS服务器的弹性IP)>/01.png并拜访。 返回如下页面,您能够看到01.png的图片内容。反复第四步,您能够看到02.png, 03.png和04.png的图片内容。 5.执行如下命令,查看图片分享网站的源码。 cat index.html返回如下后果,您能够看到图片分享网页中显示的图片,是从网站零碎根目录/alidata/www/default中,读取图片01.png,02.png,03.png和04.png拼接的。 搭建基于ECS和OSS图片分享网站本步骤将领导您如何在ECS实例上调用OSS API上传图片到OSS中。 1、在Workbench近程连贯页签,配置cfg.json文件中的OSS信息。 1)执行如下命令,编辑cfg.json文件。 vim cfg.json2)按下i键进入编辑模式。 3)按i键进入编辑模式,别离找到以下参数,并将以下参数依据理论状况进行批改。 { "id": "LTAI*****B3LE877v", "secret": "vMkd5******DEAP4", "endpoint": "oss-cn-shanghai.aliyuncs.com", "bucket": "adc-oss-1****2", "obj_dir": "******"}参数阐明: ...

December 24, 2021 · 1 min · jiezi

关于oss:使用MaxCompute-LOAD命令批量导入OSS数据最佳实践STS方式LOAD开启KMS加密OSS数据

简介: MaxCompute应用load overwrite或load into命令将内部存储的数据(如:oss)导入到MaxCompute前的受权操作。 MaxCompute应用load overwrite或load into命令将内部存储的数据(如:oss)导入到MaxCompute前的受权操作。 一.导入之前须要先对MaxCompute进行受权。• 当MaxCompute和OSS的Owner是同一个账号时,单击此处实现一键受权。(本文已此为例进行受权阐明) • 当MaxCompute和OSS的Owner不是同一个账号时,需进行自定义受权,详情请参见STS模式受权 二.因为OSS数据设置KMS加密,所以须要指标Bucket的文件拜访权限。否则报以下谬误: 解决方案:第一种形式: 1.登陆RAM拜访控制台,点击RAM角色治理 2.搜寻框搜寻odps应用拜访oss的角色AliyunODPSDefaultRole 3.增加权限 4.抉择自定义策略权限。(前提要新建实现自定义策略,脚本模式配置可参考如下:) { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "acs:kms:*:xxxxx:*"//示例示意具备以后所有KMS的解密权限。若要针对某个KMS密钥进行解密,此处可输出对应的CMK ID。 ] } ]}5.点击确定 第二种形式: 1.登陆RAM拜访控制台,点击RAM角色治理 2.搜寻框搜寻odps应用拜访oss的角色AliyunODPSDefaultRole 3.增加权限 4.抉择零碎策略权限AliyunKMSFullAccess(治理密钥治理服务(KMS)的权限),治理KMS最大的权限能够抉择应用 5.点击确定 三.验证后果 原文链接 本文为阿里云原创内容,未经容许不得转载。

June 23, 2021 · 1 min · jiezi

关于oss:配置审计Config配合开启OSS防盗链功能

简介:本文作者:紫极zj本文将次要介绍利用【配置审计】性能,如何疾速发现企业上云过程中,针对未配置防盗链的 OSS Bucket 定位及修复案例。 前言配置审计(Config)将您扩散在各地区的资源整合为全局资源列表,可便捷地搜寻全局资源;同时帮忙您记录云上 IT 资源的配置变更历史,继续主动地评估云上资源配置的合规性,实现云上 IT 合规治理。本文介绍如何应用配置审计(Config)帮忙您疾速发现未配置防盗链的 OSS Bucket 并修复的案例。 理论案例公司 A 有 10 个垂直的业务部门,每个业务部门调配了 1~2 个 OSS Bucket 用于存储经营图片,并间接在网页上应用的 OSS 生成的链接做图片内容的展现。咱们晓得 OSS 的费用分为存储费和流量费,当大量的内部申请获取图片资源时,产生的流量费用须要客户自行承当。为了杜绝不法网站盗用图片资源,OSS 开发了“防盗链”性能,具体的性能阐明请参考: 防盗链公司 A 打算应用该技术计划,须要为 OSS Bucket 开启防盗链,并且设置 referer 白名单为 .alibaba.com 和 .aliyun.com 。作为公司的运维同学,十分不心愿每个 Bucket 都查看并参考文档配置一遍,同时还须要额定制订对策避免 Bucket 配置被二次批改。 这时候,他想起了阿里云的一款云产品:配置审计(Config)。 咱们能够将配置审计(Config)的能力简略概括为3点: 对立的资源视角,多地区,甚至跨账号;规定(Rule)检测资源配置是否满足要求;继续检测资源及修复能力;配置审计(Config)是如何工作的? 资源的配置数据通过异步音讯告诉会中心化的存储在配置审计(Config)的数据库中。规定会采纳定时、变更被动触发、用户被动触发的形式来对数据库的资源配置进行评估, 将评估后果展示给用户,同时会依据规定设置判断是否须要进行修改,如执行修改工作,新的资源配置数据会从新被配置审计(Config)感知进入到下一次的评估循环中。咱们一起来看看公司 A 的运维同学是如何通过配置审计(Config)实现工作的。 设置规定关上配置审计控制台,进入规定列表,点击新建规定,即可看到配置审计(Config)为用户提供的大量的托管规定(托管规定由平台开发并提供给用户应用),搜寻“防盗链”或“referer”都能够搜寻到该规定:OSS 存储空间开启防盗链性能。 点击利用规定, 第一步:设置规定名称、自定义危险等级、自定义备注信息;第二步:能够依据理论的业务场景限定须要查看的资源的范畴;可选项包含资源 ID、资源组 ID、地区、标签等;第三步:设置容许的 referer 白名单及是否容许 referer 为空; 第四步: 设置是否开启主动修复,咱们临时先跳过,后续再探讨;第五步:预览并提交 规定评估规定创立实现后,规定便开始对存量的 Bucket 配置进行合规性的评估,参考规定的评估阐明, “OSS 存储空间开启防盗链性能,视为合规”,该规定通过查看 Bucket 配置信息中的 RefererList.Referer 不为空断定开启防盗链性能是否合规。 ...

May 18, 2021 · 1 min · jiezi

关于oss:使用天翼云对象存储服务

应用天翼云对象存储服务本文介绍如何应用天翼云对象存储服务 平安凭证在注册天翼云账号之后,进入控制台,创立秘钥,拿到AccessKeyID和SecretAccessKey用于拜访对象存储API 下载SDK在官网抉择对于的jar包 https://www.ctyun.cn/h5/help2/10000101/10001740POM文件配置在pom.xml中退出以下配置 <dependency> <groupId>cn.ctyun</groupId> <artifactId>oos-sdk</artifactId> <version>6.5.0</version> <scope>system</scope> <type>jar</type> <systemPath>${project.basedir}/src/main/resources/lib/oos-sdk-6.5.0.jar</systemPath> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.10.3</version> </dependency>OSS配置import com.amazonaws.ClientConfiguration;import com.amazonaws.Protocol;import com.amazonaws.auth.PropertiesCredentials;import com.amazonaws.services.s3.AmazonS3;import com.amazonaws.services.s3.AmazonS3Client;import com.amazonaws.services.s3.S3ClientOptions;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class OOSConfig { @Value("${OOS_ACCESS_KEY}") private String accessKey; @Value("${OOS_SECRET_KEY}") private String secretKey; @Value("${OOS_ENDPOINT}") private String endpoint; @Bean public AmazonS3 oosClient() { ClientConfiguration clientConfig = new ClientConfiguration(); //设置连贯的超时工夫,单位毫秒 clientConfig.setConnectionTimeout(30 * 1000); //设置 socket 超时工夫,单位毫秒 clientConfig.setSocketTimeout(30 * 1000); clientConfig.setProtocol(Protocol.HTTP); //设置 http //设置 V4 签名算法中负载是否参加签名,对于签名局部请参看《OOS 开发者文档》 S3ClientOptions options = new S3ClientOptions(); options.setPayloadSigningEnabled(true); // 创立 client AmazonS3 oosClient = new AmazonS3Client( new PropertiesCredentials(accessKey, secretKey), clientConfig); // 设置 endpoint oosClient.setEndpoint(endpoint); //设置选项 oosClient.setS3ClientOptions(options); return oosClient; }}创立Bucket public void createBucket(String bucketName) { Bucket bucketInfo = ossClient.createBucket(bucketName,"ChengDu","ShenYang"); }查问Bucket public void listBuckets() { List<Bucket> listBuckets = ossClient.listBuckets(); for (Bucket bucketInfo : listBuckets) { System.out.println("listBuckets:" + "\t Name:" + bucketInfo.getName() + "\t CreationDate:" + bucketInfo.getCreationDate()); } }删除Bucket public void deleteBucket(String bucketName) { ossClient.deleteBucket(bucketName); }上传文件 public String uploadFile(InputStream inputStream, String fileName) { String key = generateKey(fileName); PutObjectRequest request = new PutObjectRequest(bucketName, key, inputStream, null); request.setStorageClass(StorageClass.ReducedRedundancy); PutObjectResult result = ossClient.putObject(request); URL url = ossClient.generatePresignedUrl(new GeneratePresignedUrlRequest(bucketName, key)); return String.valueOf(url); }删除文件 public void deleteFile(String fileKey) { ossClient.deleteObject(bucketName, fileKey); }获取文件下载地址 public String getDownloadUrl(String fileKey) { GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, fileKey); URL url = ossClient.generatePresignedUrl(request); return url.toString(); }

April 24, 2021 · 1 min · jiezi

关于oss:minio对象存储使用

Minio简介Minio是Apache License v2.0下公布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适宜存储非结构化数据,如照片,视频,日志文件,备份和容器/ VM映像。对象的大小能够从几KB到最大5TBMinio服务器足够轻,能够与应用程序堆栈捆绑在一起,相似于NodeJS,Redis和MySQL。https://docs.minio.io/ Minio装置应用二进制装置wget https://dl.minio.io/server/minio/release/linux-amd64/miniochmod +x minio./minio server /data留神启动时控制台会显示的 appkey secretkey是默认登录账户,明码 docker装置docker pull minio/miniodocker run -p 9000:9000 minio/minio server /data应用浏览器输出: http://ip:9000例如:http://10.0.102.201:9000 http://172.17.42.1:9000 http://127.0.0.1:9000 AccessKey: minioadminSecretKey: minioadmin Minio常用命令客户端操作命令NAME: mc - MinIO Client for cloud storage and filesystems.USAGE: mc [FLAGS] COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]COMMANDS:ls 列出文件和文件夹。mb 创立一个存储桶或一个文件夹。cat 显示文件和对象内容。pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT。share 生成用于共享的URL。cp 拷贝文件和对象。mirror 给存储桶和文件夹做镜像。find 基于参数查找文件。diff 对两个文件夹或者存储桶比拟差别。rm 删除文件和对象。events 治理对象告诉。watch 监督文件和对象的事件。policy 治理拜访策略。config 治理mc配置文件。update 查看软件更新。version 输入版本信息。客户端治理命令NAME: mc admin - manage MinIO serversUSAGE: mc admin COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]COMMANDS:service 服务重启并进行所有MinIO服务器update 更新更新所有MinIO服务器info 信息显示MinIO服务器信息user 用户治理用户group 小组治理小组policy MinIO服务器中定义的策略管理策略config 配置管理MinIO服务器配置heal 修复MinIO服务器上的磁盘,存储桶和对象profile 概要文件生成概要文件数据以进行调试top 顶部提供MinIO的顶部统计信息trace 跟踪显示MinIO服务器的http跟踪console 控制台显示MinIO服务器的控制台日志prometheus Prometheus治理Prometheus配置kms kms执行KMS治理操作Minio应用案例新建一个bucket和用户,并给用户进行受权拜访 ...

March 24, 2021 · 2 min · jiezi

关于oss:OSS对象存储的全球加速方案

业务场景OSS对象存储作为一种海量、平安、低成本、高长久的云存储服务,深受宽广开发人员的青睐。然而在全球化的业务场景中,不论OSS抉择放于海内或者大陆地区,都会导致另外一部分用户上传和拜访品质不佳的问题。 本文旨在提供一种基于OSS对象存储的低成本的寰球减速计划。 网络架构图 方案设计下载计划应用自定义域名配置CDN减速DNS解析:自定义域名CNAME解析到CDN减速域名对象拜访签名调整:改用URL鉴权的形式进行签名上传计划间接应用OSS传输减速域名 {bucket}.oss-accelerate.aliyuncs.com配置步骤配置CDN减速减速域名配置自定义域名,后续对象拜访应用此域名。源站信息抉择OSS域名, 域名类型抉择自定义OSS源站,域名配置为OSS传输减速域名 {bucket}.oss-accelerate.aliyuncs.com 创立胜利后会生成一个CDN减速域名(相似xxx.com.w.cdngslb.com) 如果为公有Bucket,回源配置中须要开启阿里云OSS公有Bucket回源,访问控制-开启URL鉴权,填写主备KEY! 配置DNS解析将自定义域名CNAME解析到方才配置后失去的CDN减速域名 对象拜访签名 /** * CND鉴权-A计划的签名 * * @param string $host eg. https://mall.xxx.com * @param string $path eg. resume/110/abc.jpg * @param string $args eg. ?x-oss-process=image%2Fauto-orient%2C1%2Fresize%2Cw_160 * @param string $key 鉴权的key * @param int $expireAt 过期工夫戳 * @return string */ function sign($host, $path, $args, $key, $expireAt) { $path = Str::startsWith($path, '/') ? $path : "/$path"; $path = implode('/', array_map('urlencode', explode('/', $path))); $rand = '0'; $uid = '0'; $str = sprintf('%s-%s-%s-%s-%s', $path, $expireAt, $rand, $uid, $key); $hash = md5($str); $authKey = sprintf('%s-%s-%s-%s', $expireAt, $rand, $uid, $hash); $symbol = $args ? '&' : '?'; return sprintf('%s%s%s%sauth_key=%s', $host, $path, $args, $symbol, $authKey); }比照测试本次测试以3种计划进行比照测试,测试的图片为948KB。 ...

November 27, 2020 · 1 min · jiezi

关于oss:开放下载OSS运维基础实战手册

随着大数据、云计算时代的到来,开发者们应用传统运维形式,无论在技术、运维、解决方案方面都会遇到一些问题。本次读书会将解决运维人员,在部署云上的业务时遇到的OSS各类问题,攻克现有窘境,冲破本身瓶颈。 本书兼顾实践与实际,通过讲授运维实战十二心法,以更加直观,具体的形式帮忙读者疾速上手,率领读者在本书中领略作者的周密思路,并学会用这种思路来应答各种萍水相逢的OSS难题。 本书秉承直观透彻、循序渐进、基础知识与案例实际紧密结合的讲授特色,手把手领导读者从零开始轻松入门OSS。 目录 如何收费下载 扫码,发送" OSS",即可收费取得 ▲继续关注 获取更多收费福利 后期分享的材料如下: 匠心之作!《RDS数据库从入门到精通》收费凋谢下载! 超赞!89 页阿里云《CDN排坑指南》收费凋谢下载 超全96页!《阿里云ECS运维:linux系统诊断》手册凋谢收费下载 分享一份阿里云外部超全K8s实战手册,收费下载! 《阿里巴巴 DevOps 实际手册》,收费下载

August 1, 2020 · 1 min · jiezi

关于oss:开放下载OSS运维基础实战手册

随着大数据、云计算时代的到来,开发者们应用传统运维形式,无论在技术、运维、解决方案方面都会遇到一些问题。本次读书会将解决运维人员,在部署云上的业务时遇到的OSS各类问题,攻克现有窘境,冲破本身瓶颈。 本书兼顾实践与实际,通过讲授运维实战十二心法,以更加直观,具体的形式帮忙读者疾速上手,率领读者在本书中领略作者的周密思路,并学会用这种思路来应答各种萍水相逢的OSS难题。 本书秉承直观透彻、循序渐进、基础知识与案例实际紧密结合的讲授特色,手把手领导读者从零开始轻松入门OSS。 目录 如何收费下载 扫码,发送" OSS",即可收费取得 ▲继续关注 获取更多收费福利 后期分享的材料如下: 匠心之作!《RDS数据库从入门到精通》收费凋谢下载! 超赞!89 页阿里云《CDN排坑指南》收费凋谢下载 超全96页!《阿里云ECS运维:linux系统诊断》手册凋谢收费下载 分享一份阿里云外部超全K8s实战手册,收费下载! 《阿里巴巴 DevOps 实际手册》,收费下载

August 1, 2020 · 1 min · jiezi

阿里云对象存储OSS部署前端项目并使用自动脚本上传

前言使用阿里云OSS + CDN方案的几大好处: 成本低廉。OSS+CDN部署自己的网站每个月的花费远比自己买ECS服务器部署网站花费要少得多大幅降低运维成本。直接使用现成的云服务了,无需花精力去维护ECS了。极高的可用性。无论阿里云的OSS还是CDN,都已经做好了高可用性,几乎可以保证网站始终可访问极高的访问速度。ECS带宽毕竟有限的,高带宽意味着超高的费用。但是用OSS+CDN这种天然分布式的架构部署网站很轻松的解决了带宽问题,极大地提升了用户的访问体验。OSS会自动帮你压缩,使得你的页面加载速度极快。为此我写了一篇博客来帮助指导使用OSS,并且写了一个部署脚本deploy.js来实现自动上传。js_deploy 配置 阿里云对象存储(OSS)首先登陆阿里云oss控制台,点击创建一个bucket。 根据自己的需求选择参数。 然后就创建了一个bucket。 为bucket配置域名,在上图中,将阿里云外网访问Bucket域名记录下来。然后在DNS控制台添加记录解析。然后回到oss控制台,在域名管理选项 将你刚刚DNS解析的域名 绑定上去。这样就可以通过自己设置的二级域名访问到自己的项目了。 在基础设置找到静态页面 设置默认首页的文件名 一般都是index.html,如果有404页面也可以配置。 就下来就只要将自己的打包出来的静态文件 通过deploy.js脚本上传到OSS上就行了 配置deploy.js打开deploy.js将bucket,region填入。key,secret可能忘记(在刚开始使用阿里云的时候,阿里云会将这个发送给你,并提醒你保存),可以在用户信息管理 安全信息管理获取到自己的Access Key Secret(也可以在这里创建一个新的AccessKey)。 因为deploy.js中保存有你的阿里云accessKeyId与accessKeySecret 所以记得在.gitignore文件忽略deploy.js 这样再稍微配置下要部署的项目 就可以用这个脚本了。 使用将deploy.js下载到你的项目根目录下。一般是webpack打包而成的单页面应用。页面打包生成dist文件夹目录,将dist文件夹上传到阿里云oss上。 在package.json中加入这个脚本命令,用来更快的执行部署命令。也可以手动node deploy.js执行部署脚本。 "scripts": { "deploy": "node deploy.js"},"devDependencies": { "ali-oss": "^6.1.1", // 这是阿里云的oss依赖,也可以直接手动npm install ali-oss --save-dev}演示在这里 我演示一个将ant-design-pro构建的项目打包上传到oss上。 然后就可以访问到了(记得一定要在oss控制台设置index.html为首页) 在这里你可以通过访问 http://example-oss.flura.cn 访问到我的阿里云示例 webpack项目自动部署到阿里云OSS这里做一个补充:如果是一个webpack项目 我们使用一个webpack插件,可以实现自动部署到阿里oss的效果。可以极大的提升开发效率,开发完毕,打包项目就可以部署到线上环境。 aliyunoss-webpack-plugin插件使用首先安装aliyunoss-webpack-plugin插件yarn add aliyunoss-webpack-plugin -D// 或者使用 npm i aliyunoss-webpack-plugin -D修改webpack.prod.conf.jsconst AliyunossWebpackPlugin = require('aliyunoss-webpack-plugin')const oss = require('../oss')...plugins: [ ... // 插入到最后面 new AliyunossWebpackPlugin({ buildPath: 'dist/**', region: oss.region, accessKeyId: oss.accessKeyId, accessKeySecret: oss.accessKeySecret, bucket: oss.bucket, deleteAll: true, generateObjectPath: function(filename, file) { return file.replace(/dist\//, '') }, })}创建一个oss.js 因为不希望 阿里云oss隐私信息被上传到git所以 记得在.gitignore文件中忽略。 ...

October 2, 2019 · 1 min · jiezi

小谈CDN回源函数计算的应用场景

CDN团队联合函数计算团队近期推出了一个全新功能,即通过CDN把回源流量指向函数计算进行处理,该功能旨在帮助CDN用户能通过函数计算快速处理和便捷处理回源数据为目的,用户仅仅需要在CDN回源地址填写函数计算的自定义域名即可把请求转发到函数计算进行处理,配置简单,费用低廉,先前CDN回源可以设置几个目的地,例如回源到IP地址、域名或者对象存储OSS,现在新增了一个回源到函数计算的类型,这种类型不同于其他类型,例如CDN回源到ECS某IP上后,ECS需要启一套服务来监听CDN请求,对系统设计要求较高,再比如CDN回源到OSS上,多半只能是一些静态文件,当用户对回源内容进行个性化处理的时候,以上的方式都不够灵活。新增CDN回源函数架构图: 业务流向图可以概述如下: 主打功能:CDN回源数据动态处理CDN请求地址处理拉通CDN请求和多类数据处理对请求地址进行鉴权和跳转场景优势请求链路缩短(减少负载均衡)请求后的弹性扩容对请求地址进行鉴权和跳转技术特点简单,仅需控制台操作配置内置负载均衡和计算弹性扩容,能支持海量并发多种主流语言支持,java,Nodejs,Python,PHP,C#等阿里云集群级别的安全访问控制台上的操作CDN控制台配置: 函数计算控制台配置: 适用场景网站场景用于CDN源站的静态、动态网站页面元数据处理文件处理场景用于CDN回源源站多媒体数据处理,例如文本、图片、视频、音频等。请求分发场景可以通过函数计算把请求做URL地址动态处理后并把请求302分发到其他应用以上各种场景推出,对用户来说有几个显而易见的好处,例如1、节约流量成本,客户通过CDN回源的函数计算走专有网域,会比走公网流量价格更优惠(价格优惠后续公布),2、客户可以很方便的把很多产品串联起来使用,例如通过函数计算能联合多个产品给CDN后的请求提供数据处理,例如新浪微博图片处理(FC+OSS),例如芒果TV的热数据加载等,3、可以做数据处理,也可以做请求分发渠道。相比较ECS,这种方案具备自动弹性伸缩特性,CDN +函数计算 = CDN + 负载均衡+计算,能通过非常优雅的弹性方式来支撑大量CDN请求。4、轻量数据处理程序便捷,5分钟编写一个函数可以灵活处理请求数据,无需维护运行环境,总之是一个很赞的功能,不妨来试用一下~ 本文作者:文意 阅读原文 本文为云栖社区原创内容,未经允许不得转载。

July 5, 2019 · 1 min · jiezi

干货-基于Go-SDK操作京东云对象存储OSS的入门指南

前言本文介绍如何使用Go语言对京东云对象存储OSS进行基本的操作,帮助客户快速通过Go SDK接入京东云对象存储,提高应用开发的效率。 在实际操作之前,我们先看一下京东云OSS的API接口支持范围和能力。从对象存储的API文档可以看到,京东云提供两套接口: 1、兼容S3 API,支持AWS S3接口,兼容大部分重要功能,作为后续重点开发和优化版本。由于并不是完全兼容S3的接口,因此需要重点阅读兼容接口列表,相关介绍见https://docs.jdcloud.com/cn/o... 2、旧版OSS API,京东云前期独立封装的restful接口,支持基本的service、bucket、object等操作。该版本目前仍能使用,但后续不再开发。 很明显,京东云提供兼容S3的接口,一方面可以快速支持原有基于AWS S3开发的应用程序,另一方面帮助客户的数据从AWS S3迁移过来。建议您使用兼容S3的接口,而同时京东云提供了丰富的多种语言版本的SDK,可以根据您项目开发的需要进行不同语言SDK的选择。相关介绍见https://docs.jdcloud.com/cn/o... 这里需要注意查看兼容接口列表,对比京东云OSS和AWS S3接口的兼容情况。譬如Put Bucket接口仅使用通用的请求header,默认创建权限为private的bucket。由于不支持x-amz-acl, x-amz-grant-*等请求头,无法使用标准权限来设置ACL(即Canned ACL)。如果需要创建时指定bucket ACL,需要通过另外的接口实现,这个下文会提及。兼容接口列表:https://docs.jdcloud.com/cn/o... 下面以Go SDK介绍京东云OSS的基本操作,实现对象资源的上传下载等功能。 环境准备1、安装或更新Go 1.5及以上版本(参考1 - Mac下安装Go语言环境配置)。 2、(可选)通过可视化IDE Atom搭建Go编译环境。相比于sublime text或者传统的vim编辑方式,Atom是更为先进的文本代码编辑器,是由Github打造的编程开发工具,除了界面美观,还有各种强大的插件。本文以Atom开发环境作为展示(参考2 – Mac下基于Atom构建Go开发环境) 3、在使用Go SDK发起请求之前,需提前在京东云用户中心账户管理下的AccessKey管理页面申请accesskey和secretKey密钥对(简称AK/SK)。这个秘钥对会在后续程序初始化使用到。 下载和安装1、命令行安装 go get github.com/aws/aws-sdk-go2、Atom安装(可选)菜单【Packages】-> 【Go】-> 【Get Package】,然后输入github.com/aws/aws-sdk-go,稍等片刻便下载和安装完成。代码会被下载到GOPATH环境变量中第一个路径src目录中,效果与命令行安装方法一样。 SDK组成概述在具体编码之前,建议了解AWS SDK的构成,主要包括SDK core和service clients两个部分。SDK core适用于所有AWS的服务,service中的client仅适用于对应的service,作为该服务的客户端进行调用。 SDK core包括一些通用的类,帮助更容易地构造API参数,譬如Config、Logger等。其中,awserr:进程异常的接口,返回进程中遇到的异常和错误,对应错误码和信息。credential:API调用需要身份认证,需要使用京东云的AK/SK进行认证,并且需要修改默认的Config配置项。endpoints:服务的调用入口,有区域属性,需要在Config中配置。session:提供配置的初始化,可以自定义配置中的参数进行初始化,包括region、endpoints、credential等。request:提供API请求和重试,可以自定义请求及其处理方法。 创建s3 client的示例在发起OSS(S3协议)的请求之前,需要初始化s3 client,以下为创建client的例子。 1 ak := "your accesskey" 2 sk := "your secretkey" 3 token := "" //Token留空 4 creds := credentials.NewStaticCredentials(ak, sk, token) 5 _,err := creds.Get() 6 7 config := &aws.Config{ 8 Region: aws.String("cn-north-1"), //Bucket所在Region 9 Endpoint: aws.String("s3.cn-north-1.jcloudcs.com"), //Bucket所在Endpoint10 DisableSSL :aws.Bool(false),11 Credentials :creds,12 }13 client := s3.New(session.New(config))创建完s3 client之后,就可以对bucket、object等oss资源进行请求操作了。下面分别介绍创建bucket、上传文件(PutObject、Upload)、分片上传文件进行demo展示。 ...

July 3, 2019 · 4 min · jiezi

干货-CDN搭配OSS最佳实践-搭建动静态分离的应用架构

一、传统架构及痛点传统的网站产品应用架构,所有资源部署在应用服务器本地存储或挂载的数据存储区,对于动静态资源不作分离, 产品架构如下图所示: 该架构存在诸多问题: 系统性能会随着系统访问量的增长而受到限制甚至遭遇瓶颈;静态资源访问量巨大时,占用出口带宽,影响动态请求响应;用户请求分散时,回源距离长,影响用户体验(单纯使用CDN仍然需要回源拉取)。二、CDN+OSS架构方案:该架构充分利用到“OSS带宽/流量成本低、独立响应、存储空间无上限”的特点,结合CDN分发网络,实现资源动静分离,支持海量用户访问。 优化后产品架构如下图所示: 1、适用场景静态文件存储量大,文件数量多,文件体积较大,服务器存储空间不够;静态文件访问量大,占用带宽负载或服务器负载,I/O问题导致用户访问卡顿;用户分布较为分散,分布在全国各地、各运营商;对文件下载速度要求较高,且并发下载量高。2、架构描述涉及产品介绍: 对象存储服务(OSS:Object Storage Service)是京东云自主研发的大规模分布式对象存储服务,面向企业和个人开发者提供高可用、低成本、强安全的云端存储服务。您可以实现对数据的统一管理,满足各类存储需求。支持标准的 RESTfulAPI 接口,您只需按实际用量付费,无最低使用限制。支持流式写入和文件写入两种方式。面对冷数据存储的场景,对于那些访问频率比较低,同时对访问速度要求不高的数据,可以将数据以低频访问的方式进行存储,为您保存和备份资料提供了一个海量低价的空间。京东云CDN(Content Delivery Network),基于京东优质网络基础设施和智能云计算技术,向用户提供低成本、高性能、可扩展的互联网内容分发服务。利用广泛的节点覆盖和先进的云调度、云存储技术,将海量内容更快、更可靠地投递给互联网终端用户,降低网站运营成本,提升用户互联网应用体验。京东云 CDN 的前身是服务于京东商城的自建 CDN 平台,历经多年 618 和 11.11等大促业务活动考验,京东云 600+ 节点广泛覆盖于全国各区域和运营商,精选全网优质基础设施,边缘节点覆盖全网、全地域,真正实现就近接流、就近推流。将京东云的对象存储和CDN服务搭配使用,使用京东自建的全网CDN加速节点,为您提供上传下载双向加速,实现全网覆盖、快速高效的内容分发。架构优势: 降低Web/应用服务器负载,静态资源响应压力转移到CDN,避免性能影响;费用最低,OSS的存储费用远低于云主机磁盘费用;超大容量存储空间,大带宽上传通道,无需担心存储空间上限;降低流量费用,正常访问热度情况下,相比直接访问OSS,减少95%回源流量。三、实际案例以一个常见的Web站点为例。www.abc.com是一个新闻门户网站,有500GB的新闻图片、新闻视频、JS文件等静态内容,使用了LAMP架构,目前站点全套架构部署在京东云上。随着用户业务发展,访问量的不断增长,不少用户反映,访问网站的速度越来越慢,图片、视频加载慢,卡顿率高,网站响应慢。客户工程师发现用户上传的图片越来越多,业务高峰期,带宽峰值很高,服务器I/O经常被占满。 对于以上案例我们可以利用以上介绍的OSS+CDN架构对网站进行优化,实现动静分离的产品架构,提升用户访问体验,同时成本可控。 解决方案及步骤如下: 1、对网站应用架构进行整理,区分动态程序部分和静态部分到不同的目录进行管理,建立image、video、js目录,分别放置所有网站图片素材; 2、京东云控制台进入OSS产品,新建一个Bucket。根据云主机所在的区域选择bucket所在区域,权限选择“公共读”,bucket名称与云主机新建的目录的名称对应,如“abc-image-bucket”、“abc-video-bucket”和“abc-js-bucket”; 3、分别绑定域名image.abc.com、video.abc.com、js.abc.com并进行CDN加速。 4、上传文件:提供控制台上传和表单上传两种方式。 控制台上传:可以通过对象存储控制台上传小于1GB 的文件。如您要上传的文件大于1GB,请通过对象存储 API或SDK的方式上传。表单上传:表单上传指用户使用OSS API中的Post Object请求来完成文件的上传,非常适合嵌入在HTML网页中来上传文件;5、修改DNS调度,增加CNAME解析,将原本访问源站的请求,调度到CDN加速域名,以后用户访问您的网站的静态文件就全部通过OSS+CDN的方式访问,不再占用您云主机的资源。 四、典型应用场景新闻门户网站应用分发市场在线音乐、在线K歌视频、短视频(UGC/PGC)电影院线在线教育点击"京东云"了解更多详情

July 3, 2019 · 1 min · jiezi

构建基于阿里云OSS服务的web上传SDK

概述本文主要阐述了如何结合阿里云 OSS 服务实现一个支持断点续传和多文件上传的 web SDK。文章内容配合代码食用风味更佳:https://github.com/polyv/vod-... 。 其中,分片上传和断点续传技术由阿里云 OSS Browser.js SDK(下面简称 OSS SDK)提供,具体调用方法可参见阿里云 OSS 的 相关文档。 阿里云 OSS 提供的分片上传(Multipart Upload)和断点续传功能,可以将要上传的文件分成多个数据块(OSS 里又称之为 Part)来分别上传,上传完成之后再调用 OSS 的接口将这些 Part 组合成一个 Object 来达到断点续传的效果。web 上传 SDK 所做的是结合业务逻辑将相关的上传逻辑封装起来,并提供相关调用方法,以便于其他开发者快速集成。 需求描述再来更深入地了解一下我们即将要做的是一个怎样的产品 : 提供支持断点续传的上传 SDK,不提供界面,只提供调用方法,方便用户集成。提供管理上传队列的方法,包括控制整个文件队列及操作单个文件的方法。可以设置上传过程的回调函数,并通过回调返回上传进度、文件信息等数据。支持两种 SDK 集成方式: 通过 script 标签引入在线资源 ( http://player.polyv.net/resp/... )npm 安装:npm install @polyv/vod-upload-js-sdk更详细的使用文档可以查看这里: @polyv/vod-upload-js-sdk src 目录下的文件正文开始前,先来看下 src 目录下的所有文件。其中,UploadManager 、 Pool 和 PlvVideoUpload 三个类会在后面着重分析。 文件说明index.jsSDK 入口文件,返回 PlvVideoUpload 类pool.js实现一个控制多个任务同时执行的任务池(Pool)queue.js实现一个普通队列类(Queue)upload.js实现一个管理单个文件上传的类(UploadManager)utils.js工具函数文件上传流程了解 OSS 直传Web 端常见的上传方法是用户在浏览器或 APP 端上传文件到应用服务器,应用服务器再把文件上传到 OSS。相对于这种上传慢、扩展性差、费用高的方式,阿里云官方更推荐将数据直传到 OSS。 阿里云 OSS 直传的三种方案: ...

June 17, 2019 · 4 min · jiezi

2019年中国开源峰会提案征集(CFP)指南

2019 年 6 月 24 至 26 日上海世博展览馆中国上海在中国开源峰会上,与会者将共同合作及共享信息,了解最新和最有趣的开源技术,包括 Linux、容器、云技术、网络、微服务等;并获得如何在开源社区中导向和引领的信息。请到此链接,开始阅读本页每个标签中的信息,了解提交过程的重要细节。峰会日期大会日期:提案征集开放日期:2019 年 1 月 9 日提案征集截止日期:太平洋标准时间 2 月 15 日,星期五,晚上 11:59提案征集通知日期:2019 年 4 月 1 日会议日程通告日期:2019 年 4 月 3 日幻灯片提交截止日期:6 月 17 日,星期一会议活动举办日期:2019 年 6 月 24 至 26 日建议的方向和主题必须以英文提交申请,一旦您的演讲申请通过后,可以用中文或英文进行演讲。开源安全保障实时/保障/安全性在产品中部署操作系统时需要了解的重要事项合规自动化和工具物联网云基础架构与自动化DevOps连续集成/连续交付配置管理精益 IT以云速度移动容器监视虚拟化AI/ML/DL机器学习(框架、库、平台、算法、工具包,系统等)。深度学习(框架、库等。)模型(创作、表现、培训、学习,市场)AI 伦理、公平、人权(原则、最佳做法、工具包,库等。)工作流管理流式处理管道管理Linux 系统嵌入式和移动系统(手机和平板电脑、汽车和自动驾驶、Yocto,可穿戴设备)文件系统和存储(长期归档、客户端-服务器文件系统、压缩、重复数据消除、分布式存储,NVMe 等)。Linux 内核开发任务关键型、实时操作系统,实时和长寿命系统;保障和安全KVM强化和安全性、扩展和性能调整、新功能、测试、资源管理和调度,Virtio 和 Vhost、高可用性和实时迁移、管理 KVM:Libvirt、OpenStack,oVirt 等,存储:Ceph、Gluster,SPDK 等。物联网与 M2M物联网操作系统、物联网和安全/认知/人工智能、物联网平台/框架和中间件、物联网系统中的架构互操作性、实践状态、体验报告、工业实验和物联网案例研究,物联网仿真技术和工具开放式网络和边缘计算开放网络中的热门话题5G,O-RAN 和接入技术、下一代传输和软件定义的光学技术、全球电信核心开源网络堆栈(自动化/零接触)编排/MANO,控制混合云/本地、开放网络的操作和部署、新一代 OSS/BSS 和新一代工作负载、数据中心网络、软件定义的应用和 Cloud Foundry/应用开发、现代商业应用对 IT 的要求,数字化转型开放创新的世界和对网络的影响技术:区块链、AI/ML、基于意图 (Intent-based)、数据共享、硅/硬件等;架构:创新、趋势、业务和流程创新;标准 (SDO) 和开源软件;开放硬件和开放软件安全性新边缘互联设备、物联网、边缘云、电信、企业,云/OTT开源项目和边缘(互联汽车/汽车级 Linux、CNCF/边缘云,边缘和 AI/ML/DL…)面向电信的边缘云云原生网络(适用于运营商和企业)VNF-> CNF(虚拟网络功能到云原生网络功能);容器演变和云网络接口;CNCF/Kubernetes 和电信(服务网格、云联 CI,扩展);企业应用程序、扩展——公共、私有和解决问题—余下的挑战项目重点分享一系列开源项目的最新发展和最佳实践,包括:超级分类帐和区块链。Zephyr、Ceph,SPDX 等。开源领导、战略和管理开源开发的最佳实践/经验教训——贡献政策、推广开源项目、开源最佳实践、开源项目办公室案例研究和成功案例,标准和开源项目社区成长和维持——解决安全问题的协作模型,理解项目健康的度量标准自动化合规性——在开放社区中使用商标,与监管机构/监管行业合作,与政府在操作系统上合作,如何将 SPDX 标识符纳入项目,法律 + 合规性,许可 + 专利,上游和下游的成功工作认证开源项目——安全、保障、导出,开源与开放管理企业领导力——培养开源领导力、如何运营依赖开源的企业、如何成功投资项目、管理竞争的企业利益,同时推动一致的社区,开源和创新者货币化的困境 ...

January 11, 2019 · 1 min · jiezi

react-native 上传图片和视频到阿里云, 带进度条

实现上面的效果需要的库如下react-native-image-pickerreact-native-progress先来说下是如何实现点击上传图标弹出optionModal上传选项的动画的.整个optionModal区域是一个Animated.View, render 的时候他的position 是 absolute的, 整个位置是隐藏在屏幕下的, bottom: - 200. 点击按钮之后,用Animated.spring 把 bottom 的值 调整到 0 , 这样隐藏的部分就弹出来了。const styles = StyleSheet.create({ container: { backgroundColor: theme.screen_background_color, zIndex: 100, height: 200, width: ‘100%’, position: ‘absolute’, bottom: - 200), backgroundColor: ‘rgb(255,255,255)’, alignItems: ‘center’, borderTopWidth: 1, borderTopColor: theme.divider_color, } showOptionModal() { Animated.spring( this.modalPos, { toValue: 0, } ).start();<Animated.View style={[styles.container, { bottom: this.modalPos }]}> </Animated.View>还有就是区域里面的upload video 和 upload photos 图标动画有个先后顺序,这里的处理就是upload video 这个图标用了个settimeout, 让他的动画触发晚了个 0.1秒而已。实现的方法也是跟optionModal弹出的方法一样。接下来就是选择手机里面的图片或者视频了,这里我们会用一个库叫做 react-native-image-picker, 这个库应该是大家很经常会使用到的, 就是选择手机里面的视频和图片,或者可以用摄像头拍摄图片. 当我们点击 upload photos 的时候, 触发下面的代码就可以开始选择图片了 ImagePicker.showImagePicker({ title: null, cancelButtonTitle: ‘cancel’, allowsEditing: true, chooseFromLibraryButtonTitle: ‘choose from camera roll’, takePhotoButtonTitle: type===‘video’?null:‘open camera’, mediaType: type, noData: true, quality: 0.5, videoQuality: ‘medium’, storageOptions: { skipBackup: true, cameraRoll: true, waitUntilSaved: true, }, }, (response) => { if (!response.didCancel && !response.error) { //可以在这里上传图片了 this.startUpload(response); } return null; }); }当图片选择完毕之后, 就会触发this.startUpload(response); 了, 下面就是如何处理图片上传阿里云的部分了。 在上传文件到阿里云oss 之前呢 需要从Oss获取几个配置项,OSSAccessKeyId,Signature,key, police, 可以看下Oss 文档,这个需要你自己搞定啦。startUpload(response){ const uploadMediaData = new FormData(); uploadMediaData.append(‘OSSAccessKeyId’, accessKeyId); uploadMediaData.append(‘policy’, policy); uploadMediaData.append(‘Signature’, signature); uploadMediaData.append(‘key’, key); uploadMediaData.append(‘success_action_status’, 201); uploadMediaData.append(‘file’, { uri: response.uri, type: ‘multipart/form-data’, name: response.fileName, }); // 上传成功 successResponse = (xhr) => { let returnKey = xhr.responseText.match(/<Key>([^<]*)</Key>/)[1]; //这个key 就是你上传文件在oss 的地址了, }; //上传失败 failResponse = () => { // to do }; //开始上传 const OSS_UPLOAD_URI = ‘http://xxxxx.oss-us-east-1.aliyuncs.com’ futch(OSS_UPLOAD_URI, { method: ‘POST’, body: uploadMediaData, extra: null, }, (progressEvent) => { // progress 就是上穿的进度, 更新 state 里面的uploadProgress const progress = (progressEvent.loaded / progressEvent.total); this.setState({ uploadProgress: progress, }) }, (xhr) => successResponse(xhr), failResponse) .then((res) => console.log(res), (err) => console.log(’error’ + err));}//这个方法就是具体上传的代码了futch = (url, opts = {}, onProgress, successResponse, failResponse) => { return new Promise((res, rej) => { let xhr = new XMLHttpRequest(); xhr.open(opts.method || ‘get’, url); for (let k in opts.headers || {}) xhr.setRequestHeader(k, opts.headers[k]); xhr.onload = e => res(e); xhr.onreadystatechange = (e) => { if (xhr.readyState !== 4) { return; } //阿里云的状态码201 才有返回的信息 if (xhr.status === 201) { xhr.extra = opts.extra; successResponse(xhr); } else { xhr.extra = opts.extra; failResponse(xhr); } }; xhr.onerror = rej; if (xhr.upload && onProgress) xhr.upload.onprogress = onProgress; xhr.setRequestHeader(‘Content-Type’, ‘multipart/form-data’); xhr.send(opts.body); });}如果一切都ok 的话, 这个时候在上传的过程中就应该出现进度条了,上面提到了,this.state.uploadProgress 是用来存储上传进度的, 我们就利用这个作为进度条的数据源了, 因为我们用的是圆形的进度条,这里需要另外一个库, ’ react-native-progress’.import ProgressCircle from ‘react-native-progress/Circle’;//render 的时候只要把this.state.uploadProgress 丢进去就行了 <ProgressCircle size={30} showsText={true} size={100} progress={uploadProgress} color={‘#32CDFF’} thickness={4} borderWidth={2} style={styles.progressCircle} />这里特别提出一下,oss 的上传成功的返回代码是201。这样整个过程就结束了, 其中有些细节没提出来,需要大家自己完善,但是大概的流程应该都写出来了. 希望对大大家有用。 ...

December 21, 2018 · 2 min · jiezi