浅谈千万级系统重构系列

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

一、概述

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

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


二、重构那些事

·单体架构

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

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

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

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

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


·微服务架构


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



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


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


四、内容概况


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

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


五、总结

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

相关文章
|
API 容器 Kubernetes
当 K8s 集群达到万级规模,阿里巴巴如何解决系统各组件性能问题?
作者 | 阿里云容器平台高级技术专家 曾凡松(逐灵) 本文主要介绍阿里巴巴在大规模生产环境中落地 Kubernetes 的过程中,在集群规模上遇到的典型问题以及对应的解决方案,内容包含对 etcd、kube-apiserver、kube-controller 的若干性能及稳定性增强,这些关键的增强是阿里巴巴内部上万节点的 Kubernetes 集群能够平稳支撑 2019 年天猫 618 大促的关键所在。
|
5月前
|
SQL 缓存 负载均衡
数据库设计优化:性能提升与扩展性的技术探讨
【6月更文挑战第28天】数据库设计优化聚焦性能与扩展性:SQL优化、索引策略、缓存利用及分库分表、集群技术,旨在平衡处理速度与系统稳定性。通过智能SQL、复合索引、查询缓存减少数据库压力,垂直/水平拆分与集群实现数据分布式处理,提升并发能力。
|
6月前
|
SQL 运维 监控
老系统重构系列--稳定性摸排灵魂三问
该文主要讨论了老系统改造的过程和方法,特别是针对版权资产管理-财资系统的重构。作者强调了系统稳定性的重要性,并分享了他们团队在重构过程中采取的策略。他们通过确定目标、制定方法论和实施步骤来确保问题的全面摸排,包括核心链路图、流程时序图和问题路由图的绘制,以识别可能的问题和需要加强监控的部分。此外,文章还提到了数据对账监控和系统级统一监控的重要性,以及技术改造和预案的制定。作者提供了相关文章链接以供进一步阅读,并分享了他们在摸排和整改过程中的实际成果。
106 0
|
存储 运维 容灾
带你读《多媒体行业质量成本优化及容灾方案白皮书》1. 成本优化概述
带你读《多媒体行业质量成本优化及容灾方案白皮书》1. 成本优化概述
394 0
|
监控 NoSQL Dubbo
从一个电商平台的库存同步谈性能优化和方案落地
从一个电商平台的库存同步谈性能优化和方案落地
445 0
从一个电商平台的库存同步谈性能优化和方案落地
|
运维 安全
站场优化改造
近两年,随着淘汰落后产能的稳步实施,对既有铁路信号设备的维修和设备使用质量要求越来越严格,信号设备维护、使用、更新、改造与铁路运输需求之间的矛盾越来越突出,因此加强铁路优化改造,搞好信号设备点检养护,实现由保量向保点、由保产向直接参与生产的转变,确保每一台信号设备全天候安全可靠运转,已成为铁路信号维修的当务之急。
|
设计模式 程序员 Python
重构:改善饿了么交易系统的设计思路
我在2017年5月加入饿了么的交易部门,先后负责搜索、订单、超时、赔付、条约、交付、金额计算以及评价等系统,后期开始做些整体系统升级的工作。这篇文章成型于交易系统重构一期之后,主要是反思其过程中做决策的思路,我没有使用「架构」这个词语,是因为它给人的感受充满权利和神秘感,谈论「架构」让人有一种正在进行责任重大的决策或者深度技术分析的感觉。
10967 5
|
算法 开发工具 调度
历时1年,上百万行代码!首次揭秘手淘全链路性能优化(上)
下面,我们一起来看手淘团队在性能优化过程中的一些思考和实践。
3563 0
|
存储 分布式数据库 流计算
下一篇
无影云桌面