



















对象存储迁移改造,主要是双写,降级读,迁移。
前期需要排查,哪些地方用到了对象存储,上传了文件。微服务太多了,组件太多了,项目交接了很多人。组件功能越来越多,越来越理不清每个组件有哪些功能。
只能通过关键字,搜索代码,找表,向上找接口。
这次组件上线遇到一些问题
1. 一个表,很多个组件在用,很多个小组在用。迁移的时候,导致重复迁移了。比如有个表有200w+的数据,占用空间以T为单位,重复迁移,成本就很大了
2.200w+的关系型表,直接select + order by + limit 会有慢查询,一个sql执行超过3秒。这个表在维护时间字段创建了索引,有同事按天来迁移。每天的数据量最多2w多,读取到jvm中,占用内存也有15MB左右,这是我让大模型帮忙算的。也有同事说,可以用子查询,把id先查出来。减少回表的操作
3.有迁移任务,我们创建了很多迁移任务,还没有执行完的。这个时候,我们要停止这些任务,可以删除这些任务。可能我们需要任务的详细数据,每个任务迁移了哪些文件。这个时候软删除就排上用场了,感觉如果数据量不大,可以都使用软删除
4.要清空对象存储桶里面的数据,同事建议设置对象的生命周期来清理数据。清理完成后,在把设置的生命周期删除,再执行迁移
5.有些组件通过公共接口上传对象存储的,这个接口没有为每个对象设置目录,都保存在桶的根目录。改造接口成本比较大
调试的时候没什么问题,一上线感觉到处是问题
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。