主要是阿里云和亚马逊对比,其他的厂家略微提一下。
主要是对比的 云存储、消息队列服务
1.阿里OSS vs亚马逊 S3云存储
a.接口对比 :阿里云 和亚马逊接口差不多
基本参数:endpoint 存储节点、accessKeyId 账户key、accessKeySecret 账户秘钥、bucketName 存储桶名称文件上传:ossClient.putObject()文件下载:ossClient.getObject()文件查询:ossClient.listObjects()文件删除:ossClient.deleteObject()
b.费用对比
阿里云OSS:
结论:
上传不收费,基本存储收费按流量, 0.12RMB/GB/月。
下载收费,分时段 按流量收费,0.25~0.5RMB/GB
亚马逊S3云存储
存储价格
下载价格
上传不收费,基本存储收费按流量, 0.176RMB/GB/月。
下载收费, 按流量收费,0.93RMB/GB
2.消息队列:阿里MNS vs 亚马逊SQS
2.1.阿里 MNS
消息队列、主题创建按日收费,API请求2000万次/月 以下免费 ,超过 2RMB/百万次
OSS可以结合 MNS使用。OSS创建文件=>事件通知=>主题=>队列、httpserver(广播模式,多种方式订阅主题,推送消息)
删除文件(API删除,对象生命周期配置)=>事件通知=>主题=>队列、httpserver
附录:阿里云配置事件策略,实现自动删除文件 推送消息至消息队列
2.2MNS:配置事件策略
https://help.aliyun.com/document_detail/35373.html?spm=a2c4g.11186623.6.589.572d691axN9Hct
创建消息队列:
配置事件策略:
注意,这里的前缀和AWS的前缀不同。AWS前缀不能包含桶名,阿里云可以使用桶名,这个桶里面的所有事件都支持规则
配置完毕,每个queue会自动生成一个主题。AWS 分为配置队列和配置主题方式,可以只配置队列方式就可以。
配置完毕,10分钟后生效,创建文件才可以产生消息到MNS服务
程序代码put接口上传,触发put事件
PutObjectResult putObjectResult =ossClient.putObject(bucketName, dPath, inputStream);
页面添加不是put方式,不会触发消息
2.2.1OSS:配置事件策略
https://help.aliyun.com/document_detail/122379.html
OSS配置事件策略不生效。
2.2.2.OSS创建存储桶
https://help.aliyun.com/document_detail/32012.html?spm=a2c4g.11186623.6.774.70f3128bztJUEW
2.2.3.OSS 对象生命周期管理
https://help.aliyun.com/document_detail/31863.html
生命周期配置:
基础设置
基于桶配置,只能配置1个标签 过期时间
基于前缀规则,可以每个前缀配置一个过期时间规则
2.3.亚马逊SQS
创建主题、队列免费,API请求100次/月 免费 ,超过 0.4USD/百万次
编辑策略文档,允许哪个桶写入消息进来
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": "*", "Action": "SQS:*", "Resource": "arn:aws:sqs:eu-west-1:027653988555:MyQueue", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:clhbucket" } } } ]}
2.4.亚马逊S3 云存储
桶属性设置 事件
桶 管理 设置 生命周期: