浅谈千万级系统重构系列

简介: 浅谈千万级系统重构系列

一、概述

不知不觉,2020已经要过去一半了,实属惶恐!今天给定了个flag,准备写一套系列文章《浅谈千万级系统重构》,抛开微服务技术栈不谈(未来将是另外一个系列)

曾经简单的写过一篇重构方案设计,该系列文章相当于该篇文章的具体落地方案,目标本月完成本系列文章。


二、重构那些事

·单体架构

随着业务的发展,单体架构问题逐渐暴露

1) 业务越来越复杂,单体架构扩展性不足,业务扩展带来的代价越来越大

2) 数据库单点写入瓶颈,mysql数据量太大查询效率不高

3) 改动一个点可能导致其它地方出问题

所以系统重构显得尤为重要!


·微服务架构


数据库层一般会分库/分表,以订单系统为例



三、如何从单体架构过渡到微服务架构


  • ·入口层采用按流量灰度,流量逐步增大,降低风险
  • ·db层双向同步,一旦有问题可以随时回滚到老系统,并且一般情况下新系统会分库分表
  • ·数据对比工具,实时/手动对比数据是否一致,提前发现潜在的问题


四、内容概况


大致罗列了一下大概有如下内容点:

  • 1. 基于openresty开发轻量级,按流量控制的灰度模块
  • 2. 浅谈唯一Id生成器最佳实践
  • 3. 浅谈mysql分库分表那些事儿
  • 4. 浅谈基于MQ&binlog同步数据双写方案
  • 5. 浅谈数据双写之对比工具实现方案  
    敬请期待。


五、总结

记得第一次做千万订单系统重构(2016年),我们老大说了这样一句话:"重构这样的事,一辈子干一次就够了",确实,重构会遇到各种奇葩的问题,并且需要很多前期准备工作,比如:模块拆分,权限回收,SQL改造等等。但是解决了这些问题,也会乐在其中。在这里,感谢那些曾经一起奋斗过的小伙伴!

目录
打赏
0
0
0
0
5
分享
相关文章
大型IM稳定性监测实践:手Q客户端性能防劣化系统的建设之路
本文以iOS端为例,详细分享了手 Q 客户端性能防劣化系统从0到1的构建之路,相信对业界和IM开发者们都有较高的借鉴意义。
213 3
近亿级用户体量高并发实战:大促前压测干崩近百个服务引起的深度反思!
几年前,数百个服务,将堆内存从28GB升配到36GB,引发系统全面OOM的事件。
186 12
某国有银行业务收益提升30倍,它究竟是怎么做到的!
在激烈的银行竞争环境下,释放存量客户的复购潜力成为关注的重点。然而,目前银行销售理财产品过程中存在一系列问题,其中一个主要原因是过度依赖理财经理的个人经验。国有银行也难以避免这些问题在目标客户定位和营销执行过程中的出现。
千万级乘客排队系统重构&压测方案——总结篇
千万级乘客排队系统重构&压测方案——总结篇
231 1
支持高频数采、实时流计算的储能可预测维护系统方案
通过EMQ云边一体化方案,可实现数据高频率的数万点位采集,为边缘端赋予实时分析和预测储能系统运行状态的能力,使云端具备大数据分析能力。
EMQ
394 0
支持高频数采、实时流计算的储能可预测维护系统方案
面向B端算法实时业务支撑的工程实践
在阿里妈妈营销场景下,算法同学会对广告主提供个性化的营销工具,帮助广告主更好的精细化营销,在可控成本内实现更好的ROI提升。我们在这一段时间支持了多个实时业务场景,比如出价策略的实时化预估、关键词批量服务同步、实时特征等场景,了解到业务侧同学来说,针对ODPS场景来说大部分可以灵活使用,但对于Blink使用还有不足,我们这里针对场景积累了一些经验,希望对大家有一些帮助;
262 1
如何做好高并发系统设计,我总结了三点
大家在面试中是不是经常被问到一个问题:“如果你系统的流量增加 N 倍你要怎么重新设计你的系统?”
如何做好高并发系统设计,我总结了三点
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等