惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
L
LINUX DO - 热门话题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
V
V2EX
GbyAI
GbyAI
量子位
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
S
SegmentFault 最新的问题
O
OpenAI News
N
News and Events Feed by Topic
博客园 - Franky
爱范儿
爱范儿
Forbes - Security
Forbes - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V2EX - 技术
V2EX - 技术
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Schneier on Security
Schneier on Security
Cloudbric
Cloudbric
Security Archives - TechRepublic
Security Archives - TechRepublic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recent Commits to openclaw:main
Recent Commits to openclaw:main
人人都是产品经理
人人都是产品经理
P
Privacy International News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
D
DataBreaches.Net
Last Week in AI
Last Week in AI
罗磊的独立博客
Spread Privacy
Spread Privacy
Recent Announcements
Recent Announcements
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
The Register - Security
The Register - Security
Y
Y Combinator Blog
J
Java Code Geeks
I
Intezer

博客园 - luckygxf

架构积累-系统划分 架构积累-软件架构终极目标 javascript构造方法 数据库连接池初始连接 分布式系统CAP理论(一) 数据库连接太多排查(一) 审批流程-节点自动审批通过 防表单重复提交 深分页问题 devops 工作效率提升 新需求开发-重构老的逻辑 js析构赋值 框架的好处和不足 React框架Hello world 数据库表设计在哪个接口 需求实现-ddd四层架构实现 前端代码(一) 高内聚,低耦合 对象存储改造 mermaid初体验 业务逻辑优化-解决提示词问题打分不准 idea 插件envfile初体验 防盗链-防盗用链接 springboot项目启动小技巧 github托管网站 AI MCP开发 AI中 MCP 作用 mapconstruct 初体验 架构积累-解耦与防腐 表创建索引的重要性 重构注意事项(一) drawio初体验 六边形架构 架构积累-依赖注入和SOLID原则 工作总结-定时任务 工作总结-知识通关需求上线 工作总结-演练场景映射方案 工作总结-MVP 工作总结-需要学习的方向 工作总结-接口优化 python asyncio demo 工作总结-sse接口心跳 工作总结-问题筛选方案 工作总结-工具分享 工作总结-提示词优化 工作总结-工作优先级 工作总结-灰度发布
对象存储迁移-组件上线
luckygxf · 2026-05-26 · via 博客园 - luckygxf

对象存储迁移改造,主要是双写,降级读,迁移。

前期需要排查,哪些地方用到了对象存储,上传了文件。微服务太多了,组件太多了,项目交接了很多人。组件功能越来越多,越来越理不清每个组件有哪些功能。

只能通过关键字,搜索代码,找表,向上找接口。

这次组件上线遇到一些问题

1. 一个表,很多个组件在用,很多个小组在用。迁移的时候,导致重复迁移了。比如有个表有200w+的数据,占用空间以T为单位,重复迁移,成本就很大了

2.200w+的关系型表,直接select + order by + limit 会有慢查询,一个sql执行超过3秒。这个表在维护时间字段创建了索引,有同事按天来迁移。每天的数据量最多2w多,读取到jvm中,占用内存也有15MB左右,这是我让大模型帮忙算的。也有同事说,可以用子查询,把id先查出来。减少回表的操作

3.有迁移任务,我们创建了很多迁移任务,还没有执行完的。这个时候,我们要停止这些任务,可以删除这些任务。可能我们需要任务的详细数据,每个任务迁移了哪些文件。这个时候软删除就排上用场了,感觉如果数据量不大,可以都使用软删除

4.要清空对象存储桶里面的数据,同事建议设置对象的生命周期来清理数据。清理完成后,在把设置的生命周期删除,再执行迁移

5.有些组件通过公共接口上传对象存储的,这个接口没有为每个对象设置目录,都保存在桶的根目录。改造接口成本比较大

调试的时候没什么问题,一上线感觉到处是问题