大型系统如何设计和演进的?从哪里可以学习一下大型系统设计。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
skytenlc
V2EX    程序员

大型系统如何设计和演进的?从哪里可以学习一下大型系统设计。

  •  
  •   skytenlc 57 天前 2473 次点击
    这是一个创建于 57 天前的主题,其中的信息可能已经有所发展或是发生改变。
    9 条回复    2025-09-30 13:02:01 +08:00
    Ketteiron
        1
    Ketteiron  
       57 天前
    除了工作,应该没地方能学到。开源项目的大型、复杂与现实中的不是一回事。电商类的项目可以参考下,应该算比较接近的,java 那堆 xxx-mall 的培训班刷 star 垃圾项目可以看看,与现实中的大型不可回收垃圾项目一模一样。
    xuanbg
        2
    xuanbg  
       56 天前
    大型系统或者复杂系统其实也没什么神秘的,一般都是臭不可闻的屎山。

    要想设计好大型系统,就必须要做好这几点:
    1 、抽象。要尽可能的将普适的、共性的功能抽取出来进行能力化。红极一时的中台就是具体的体现了。中台为啥最后变成人人喊打的落水狗,倒不是中台做错了,而是中台做多了。做了自己不该做的功能,结果就变成两面不讨好,人人厌弃了。
    2 、分治。一定要将业务梳理清楚,不能多个业务纠缠在一起。微服务就是这个需求的最佳实践。但微服务有比较高的门槛,大多数程序员不懂业务不懂自动化运维玩不转。

    所以,要想学习大型系统的设计,不但要有洞见本质的能力,还要精通业务,还需要对自动化运维有一定的了解。
    mascteen
        3
    mascteen  
       56 天前
    可以看下代码大全
    Xheldon
        4
    Xheldon  
       56 天前
    多了解下你所在的公司的业务,然后尝试想象如果是你设计会怎么设计,然后看公司代码跟你想象的有什么出入就行了。从业务中学,大型系统的设计是基于业务复杂度来的,如果你没有使用的场景,学了也会忘记。
    wangguyu
        5
    wangguyu  
       56 天前
    《 DDIA 》
    dododada
        6
    dododada  
       56 天前   3
    去看下开源的 IM 系统研究研究,这玩意儿一上来就是大型的,没有小型的说法,小型玩不转,当然底层的内容看起来不太多,但是周边有些庞大,运维也很复杂
    andyskaura
        7
    andyskaura  
       56 天前
    我的个人经验是,严格按照第三范式把数据库关系图画好,业务开发围绕数据库来。
    isno
        8
    isno  
       56 天前
    以“解决当前的问题”的方式演进。比如:

    - 要解决单体服务的复杂性,那就进行拆分,这就演变成了微服务架构
    - 要解决大量微服务的部署问题,使用容器化
    - 要解决容器的编排问题,使用 Kubernetes ,变成云原生架构
    - 要解决海量存储、复杂软件关联.. 等等,使用 xx 等等

    推荐我刚出炉的新书,《深入高可用系统原理与设计》,名字有高可用,但高可用可从来不是”不宕机“,而是:

    - 成本可用 资源成本的平衡、资源弹性调度、海量规模下日志的存储与分析,以及技术复杂度的控制;
    - 敏捷可用 借助现代云技术,实现系统的快速迭代与演进;
    - 规模可用 软件规模日益庞大,但依托不可变基础设施、容器与容器编排等云原生技术,依然能够保持可控。

    整部书的内容,应该是你所希望的”大型系统设计指南“。
    isno
        9
    isno  
       56 天前
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1602 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 16:22 PVG 00:22 LAX 08:22 JFK 11:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86