发表于: 2018-04-03 23:20:10
2 670
今日完成:
1. 图片迁移
阿里云ossimport
https://www.alibabacloud.com/help/zh/doc-detail/56990.htm?spm=a3c0i.o59922zh.a3.2.7521cdf6q9zvdc
OssImport工具可以将本地、其它云存储的数据迁移到OSS,它有以下特点:
支持的丰富的数据源,有本地、七牛、百度BOS、AWS S3、Azure Blob、又拍云、腾讯云COS、金山KS3、HTTP、OSS等,并可根据需要扩展;
支持断点续传;
支持流量控制;
支持迁移指定时间后的文件、特定前缀的文件;
支持并行数据下载、上传;
支持单机模式和分布式模式,单机模式部署简单使用方便,分布式模式适合大规模数据迁移。
单机模式:
单机
Master、Worker、Tracker、Console运行在一个机器上,系统中有且只有一个Worker。我们对单机模式的部署和执行进行了封装优化,单机部署和执行都很简单。单机模式下Master、Worker、TaskTracker、Console四个模块统一打包成ossimport2.jar。
提示:
import.bat/import.sh为一键导入脚本,修改完local_job.cfg后可以直接运行;
console.bat/console.sh为命令行工具,可以用于分布执行命令;
脚本或命令时请在ossimport目录下执行,即 *.bat/*.sh 的同级目录。
一键导入:
执行一键导入,Window系统下在 cmd.exe 中执行 import.bat,Linux终端中执行 bash import.sh。
如果之前执行过程序,会提示有是否从上次的断点处继续执行,或者重新执行同步任务。对新的数据迁移任务,或者修改了同步的源端/目的端,请选择重新执行。
Windows下任务开始后,会打开一个新的cmd窗口执行同步任务并显示日志,旧窗口会每隔10秒打一次任务状态,数据迁移期间不要关闭两个窗口;Linux下服务在后台执行。
当 Job 完成后,如果发现有任务失败了,会提示是否重试,输入 y 重试,输入 n 则跳过退出。
如果上传失败,请打开文件master/jobs/local_test/failed_tasks/<tasktaskid>/audit.log查看,确定失败原因。
迁移方案(从第三方存储迁移到OSS):
迁移步骤:
迁移历史数据。
清任务、清配置。
操作过程请参考分布式部署。
开始迁移。
可在OSS控制台OSS Bucket中查看实际迁移完成的数据。
设置镜像回源,客户业务系统读写切到OSS。
在OSS控制台打开OSS镜像回源,回源地址为迁移源(第三方存储)。
客户业务系统读写切换到OSS,假设业务系统修改好的时间为T2,则T2后不再有新数据写到迁移源。
迁移剩余的数据
修改job.cfg配置项importSince=T1,请参考OssImport 架构及配置,迁移剩余数据(T1~T2)特殊情况下,也可以使用job.cfg中importSince = 0, isSkipExistFile=true进行再次迁移,请参考OssImport 架构及配置。
阿里云的文档对配置的介绍非常清晰
local_job.cfg配置数据迁入迁出路径和权限配置
sys.properties配置工作模式:
配置好后在命令行执行import.bat
弹出java执行窗口,执行成功
七牛云实名认证还没通过,所以测试了从本地进行迁移,oss之间的迁移配置多了账户认证
七牛云:qfetch
https://developer.qiniu.com/kodo/kb/1347/how-to-ali-cloud-oss-files-on-migration-to-seven-niuyun-storage?ref=support.qiniu.com
qfetch 是一款数据迁移工具,利用七牛提供的fetch功能抓取指定文件列表中的文件。在文件列表中,您只需要提供资源的外链地址和要保存的文件名就可以了。
使用该工具进行资源抓取时,您可以根据需要中断任务的执行,下次重新使用原命令执行时,会自动跳过已经抓取成功的资源。
qfetch是通过外链进行迁移的,因此需要通过qshell配合获取文件外链
qshell alilistbucket <DataCenter> <Bucket> <AccessKeyId> <AccessKeySecret> [Prefix] <ListBucketResultFile>1
eg:qshell alilistbucket oss-cn-shanghai.aliyuncs.com alitoqiniu xxx xxx aliyuntoqiniu.txt1
获取需要迁移的所有文件的文件名
cat aliyuntoqiniu.txt | awk '{print "http://alitoqiniu.oss-cn-shanghai.aliyuncs.com/"$1}' >alitoqiniu.txt1
使用cat 和awk对外链进行拼接
qfetch -ak='xxx' -sk='xxx' -bucket='tttest' -file='alitoqiniu.txt' -worker=300 -job='demo' | tee diff.log 1
eg:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。我们可利用tee把管道导入的数据存成文件,甚至一次保存数份文件
2. 日志记录统计
使用badboy录制使用邮箱验证码验证注册,并且上传图片到阿里oss的脚本,验证码设置为一致的:
在jmeter进行100次提交:
。。。。。免费邮件每天只有15封。。。。
测试短信,过于频繁。。。。
手动上传图片都成功了
3. 荣联短信验证码:
对响应解析后,statusCode为"000000"表示请求发送成功。statusCode不是"000000",表示请求发送失败,客户服务端可以根据自己的逻辑进行重发或者其他处理。
短信错误码:
http://doc.yuntongxun.com/p/5a5857203b8496dd00dd2b3d
4. 短信通道的防攻击策略
同一号码发送短信太频繁荣联会拒绝
可在web页面设置60秒发送短信的button
常用方法:
短信发送间隔设置——设置同一号码重复发送的时间间隔,一般设置为60-120秒
IP限定——根据自己的业务特点,设置每个IP每天的最大发送量
手机号码限定——根据业务特点,设置每个手机号码每天的最大发送量
流程限定——将手机短信验证和用户名密码设置分成两个步骤,用户在设置成功用户名密码后,下一步才进行手机短信验证,并且需要在获取第一步成功的回执之后才可进行校验。
绑定图型校验码——将图形校验码和手机验证码进行绑定,这样能比较有效的防止软件恶意注册。
检测IP所在地是否与手机号归属地匹配
先做预发送请求,后端返回校验串,前端js将所有信息再次编码送回,js记得混淆。(不明白)
对于已被拉黑的手机号/ip/设备,同样提示发送成功,而后端不发出短信,以扰乱攻击者视听。
我的设置是直接让页面跳转到输入验证码的页面,用户无法再进行点击发送验证码
6. 邮件通道的防攻击策略
sendcloud有黑名单
7. sendcloud发送邮件返回值
http://www.sendcloud.net/doc/email_v2/
8. 阿里云oss缩略图
https://help.aliyun.com/document_detail/44687.html?spm=a2c4g.11186623.6.970.Zk6Izh
通过处理参数来请求缩略图:
如果用户对原图进行一定的处理再返回,可有两种形式:
1. 通过URL的形式
通过三级域名访问: http://bucket.<endpoint>/object?x-oss-process=image/action,parame_value
Bucket:用户的IMG频道。
endpoint:用户的Bucket所在数据中心的访问域名。
Object:在IMG中,用户操作图片的基本数据单元是Object。即OSS对应的Object,单个Object(即每张图片)允许的最大大小是20MB。
action:用户对图片做的操作。
parame:用户对图片做的操作所对应的参数。
2. 多个action之间组合形式
多个action之间效果顺序执行,例如:image/resize,w_200/rotate,90表示图片先进行宽为200的缩放,再进行90度的旋转
Style(样式)
图片处理可将用户的图片处理操作和参数保存成一个别名,即样式。利用样式功能后,原本一系列操作,只需要用一个很短的URL就能实现相同的效果。
http://userdomain/object?x-oss-process=style/name
使用SDK方式
除了public bucket可以直接通过url方式进访问,对于private的文件,我们一般采用SDK的方式来访问。因为图片处理服务都是 GET 操作,所以在Get Object基础上面添加process参数即可。
9. 阿里云oss防盗链
https://help.aliyun.com/document_detail/31937.html?spm=a2c4g.11186623.2.3.69DpYw
目前OSS提供的防盗链的实现方法主要有两种:
设置Referer。控制台、SDK都可以操作,适合不想写代码的用户,也适合喜欢开发的用户。
签名URL,适合喜欢开发的用户。
明日计划:
1. rmi
遇到的问题:
1. 赶进度打乱节奏,感觉学得很不扎实
收获:
1. oss图片迁移
评论