从0开始学架构
李运华
资深技术专家
立即订阅
38901 人已学习
课程目录
已完结 59 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 照着做,你也能成为架构师!
免费
基础架构 (13讲)
01 | 架构到底是指什么?
02 | 架构设计的历史背景
03 | 架构设计的目的
04 | 复杂度来源:高性能
05 | 复杂度来源:高可用
06 | 复杂度来源:可扩展性
07 | 复杂度来源:低成本、安全、规模
08 | 架构设计三原则
09 | 架构设计原则案例
10 | 架构设计流程:识别复杂度
11 | 架构设计流程:设计备选方案
12 | 架构设计流程:评估和选择备选方案
13 | 架构设计流程:详细方案设计
高性能架构模式 (8讲)
14 | 高性能数据库集群:读写分离
15 | 高性能数据库集群:分库分表
16 | 高性能NoSQL
17 | 高性能缓存架构
18 | 单服务器高性能模式:PPC与TPC
19 | 单服务器高性能模式:Reactor与Proactor
20 | 高性能负载均衡:分类及架构
21 | 高性能负载均衡:算法
高可用架构模式 (10讲)
22 | 想成为架构师,你必须知道CAP理论
23 | 想成为架构师,你必须掌握的CAP细节
24 | FMEA方法,排除架构可用性隐患的利器
25 | 高可用存储架构:双机架构
26 | 高可用存储架构:集群和分区
27 | 如何设计计算高可用架构?
28 | 业务高可用的保障:异地多活架构
29 | 异地多活设计4大技巧
30 | 异地多活设计4步走
31 | 如何应对接口级的故障?
可扩展架构模式 (6讲)
32 | 可扩展架构的基本思想和模式
33 | 传统的可扩展架构模式:分层架构和SOA
34 | 深入理解微服务架构:银弹 or 焦油坑?
35 | 微服务架构最佳实践 - 方法篇
36 | 微服务架构最佳实践 - 基础设施篇
37 | 微内核架构详解
架构实战 (13讲)
38 | 架构师应该如何判断技术演进的方向?
39 | 互联网技术演进的模式
40 | 互联网架构模板:“存储层”技术
41 | 互联网架构模板:“开发层”和“服务层”技术
42 | 互联网架构模板:“网络层”技术
43 | 互联网架构模板:“用户层”和“业务层”技术
44 | 互联网架构模板:“平台”技术
45 | 架构重构内功心法第一式:有的放矢
46 | 架构重构内功心法第二式:合纵连横
47 | 架构重构内功心法第三式:运筹帷幄
48 | 再谈开源项目:如何选择、使用以及二次开发?
49 | 谈谈App架构的演进
50 | 架构实战:架构设计文档模板
特别放送 (7讲)
架构专栏特别放送 | “华仔,放学别走!”第1期
架构专栏特别放送 | “华仔,放学别走!” 第2期
如何高效地学习开源项目 | “华仔,放学别走!” 第3期
架构师成长之路 | “华仔,放学别走!” 第4期
架构师必读书单 | “华仔,放学别走!” 第5期
新书首发 | 《从零开始学架构》
致「从0开始学架构」专栏订阅用户
结束语 (1讲)
结束语 | 坚持,成就你的技术梦想
从0开始学架构
登录|注册

40 | 互联网架构模板:“存储层”技术

李运华 2018-07-28
很多人对于 BAT 的技术有一种莫名的崇拜感,觉得只有天才才能做出这样的系统,但经过前面对架构的本质、架构的设计原则、架构的设计模式、架构演进等多方位的探讨和阐述,你可以看到,其实并没有什么神秘的力量和魔力融合在技术里面,而是业务的不断发展推动了技术的发展,这样一步一个脚印,持续几年甚至十几年的发展,才能达到当前技术复杂度和先进性。
抛开 BAT 各自差异很大的业务,站在技术的角度来看,其实 BAT 的技术架构基本是一样的。再将视角放大,你会发现整个互联网行业的技术发展,最后都是殊途同归。
如果你正处于一个创业公司,或者正在为成为另一个 BAT 拼搏,那么深入理解这种技术模式(或者叫技术结构、技术架构),对于自己和公司的发展都大有裨益。
互联网的标准技术架构如下图所示,这张图基本上涵盖了互联网技术公司的大部分技术点,不同的公司只是在具体的技术实现上稍有差异,但不会跳出这个框架的范畴。
从本期开始,我将逐层介绍每个技术点的产生背景、应用场景、关键技术,有的技术点可能已经在前面的架构模式部分有所涉及,因此就不再详细展开技术细节了,而是将关键技术点分门别类,进而形成一张架构大图,让架构师对一个公司的整体技术架构有一个完整的全貌认知。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0开始学架构》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(31)

  • 名贤集
    这篇文章写的很好,但是参考了2016年的一片文章太多内容,请慎重引用其它文章内容

    作者回复: 你说的是CSDN吧,我就是原作者呀,在原来的基础上有一些补充

    2018-07-30
    97
  • feifei
    我觉得是几个方面导致的问题:
    1,存储平台的开发成本高,由于存储平台是核心的平台,高可用,高性能是必须的,这就导致需要经验丰富的高级工程师来开发。而云平台作为服务提供商,有能力开发出来存储平台。
    2,需要使用存储平台的公司不多,而且一般是大型的公司,小公司的业务规模都不大,对于存储平台的需求基本不高,云平台面向的是所以用户,众口难调,必然提供基础服务
    3,云平台的存储平台是收费的,能为企业带来经济效益,而开源的存储平台,投入巨大,能使用的却很少,也就失去了意义

    总结一下,云平台的存储平台,面向的是所有用户,包括大公司,有这方面的需求,而且是收费的,能够为平台带来收入;开源存储平台,服务的用户很少,投入巨大,所以没有

    作者回复: 分析很正确👍

    2018-07-30
    18
  • kel
    上云方案对于很多小型公司来说,是一种最简单的方式了,成本低,性能可用性都能达到很高的水平。而开源的平台存储受限于几个条件 1 涉及到的存储太多,开发测试都需要很大的人力 2 小公司没条件采用,大公司有自己的,使用的人不多,不能快速迭代发展 3 没有大型公司的参与,无法推广使用

    作者回复: 赞同👍

    2018-07-30
    8
  • ONLY
    架构师需要懂这么多技术吗?这是一件非常困难的事,特别在中小公司,员工都是当畜生用的,没有那么多学习时间

    作者回复: 要是很容易成为架构师,那个就不会是技术人员的梦想了😄😄

    2018-11-23
    4
  • Ky
    现在有newsql,TIDB,分布式解放mysql的分库分表
    2018-07-30
    4
  • 癸亥
    存储平台虽然是软件系统,也要基于大量的硬件来实现。小规模公司没有这个硬件规模,选择云存储会降低成本。

    作者回复: 这是其中一个点,中小公司其实不需要存储平台

    2018-07-30
    3
  • krugle
    可以讲下服务器容量规划设计吗

    作者回复: 简单来说分几个步骤:1. 初步估计,参考业界类似开源系统的性能,评估系统性能上限,例如做消息队列可以参考RocketMQ;2. 性能测试,等系统出来后做压测,测试系统真实性能;3. 逐步调优,绝大部分系统不会一开始就做到最优,逐步优化才是现实途径

    2018-07-29
    3
  • 星火燎原
    存储平台的开源方案对于一般公司来说量级达不到所以很少公司去设计和开源,但是市面上还是有很多大公司的论文可以参考

    作者回复: 正确

    2018-07-28
    2
  • Geek_88604f
    存储平台都是各大互联网公司根据自身的业务发展特点、业务复杂度、业务规模量身打造的,逐步演进来的。其特点是功能强、规模大、复杂度高、有很高技术门槛。即使开源出来也几乎没有人用,小公司用不了(没有发展到那个阶段),大公司不会用(因为业务特点不一样,虽然有规模有技术)
            小公司没有能力用不代表他们不想用。这些小公司如果能在底层存储方面得到支持,一方面可以降低业务开发的复杂度加快业务上线的时间,另一方面能保证底层存储的稳定性,保证良好的质量口碑,对业务发展还是很有好处的。
            对于大公司来说放着这么优秀的存储平台技术不去变现那也是很大的浪费。况且大规模的存储平台到云华的距离已经很近了。有需求就有供给,如果将存储平台技术以云服务的形式开放出去,一方面推动了中小公司的发展,另一方面自己也赚得盆满钵溢。

    作者回复: 写的很好,目前基本上就是云服务了

    2019-10-24
    1
  • Sam.张朝
    存储发展到平台,需要体量很大的公司,大部分公司都不能到这样的量级。
    就算开发出来,用户少,成本高,收益几乎没有。

    作者回复: 赞同

    2019-09-29
    1
  • Kim
    请问老师,数据库的分布式与分布式数据库有什么区别没有

    作者回复: 数据库分布式=你在数据库的基础上实现分布式
    分布式数据库=数据库自己实现了分布式

    例如ES,就属于分布式存储,它本身实现了分片,副本,切换,复制,故障恢复等功能; 而MySQL只实现了集群复制。

    2018-11-08
    1
  • oddrock
    为什么只有存储平台,没有计算平台,计算特别是离线、流式、即席、模式识别这些计算能够平台化,作为服务统一提供给应用层吗

    作者回复: 有的,参考44平台技术

    2018-08-30
    1
  • Michael
    资源动态按需动态分配:例如同一台 Memcache 服务器,可以根据内存利用率,分配给多个业务使用。
    这段话没理解,是要在一台机器上启动多个实例,然后给不同业务使用嘛?
    现在有在存储上做虚拟化的嘛,感觉这样分配资源,管理都很方便,不知道实际可不可行

    作者回复: 是的,启动多个mc实例,存储平台就是将存储平台资源虚拟化

    2018-07-30
    1
  • 空档滑行
    1、云计算的普及应该多少影响了存储平台的开源,现在很多中型互联网公司业务跑在云上
    2、存储平台确实是需要公司达到一定体量才会有需求,用户量是有限的,开源项目也要考虑开发人员的参与愿意

    作者回复: 正解👍

    2018-07-29
    1
  • 陈振华
    京东的JSF不是存储系统,是类似Dubbo的服务框架
    2019-12-03
  • wonderjun
    大数据兴起于互联网成熟期,互联网公司又是崇尚开源的,谷歌等大公司当仁不让,提供了理论和开源平台。
    2019-10-04
  • godtrue
    华仔,感觉这是扩展式介绍,不够深入和细致呀!比如:现在要设计一个小文件存储系统,大概5亿+个小文件,其实学完还是不知道具体该怎么思考?怎么设计?怎么存储文件?怎么存放性能最佳?一台服务器存不下怎么水平扩展?查询时怎方便查找?怎么迅速的查找?文件之间是否存在结构关系?😀
    信息的存储,不管信息是以什么面相示人,核心在怎么存?怎么查?不同的信息有不同的结构,判断出合适的存储结构,这个很关键呀!下面就是,怎么再利用他方法加快存储的性能,如果单机容量到了瓶颈,以什么方式扩展才比较好?这些也很关键,我想听老师讲讲这些,学完后自己能设计一下,玩一把。

    作者回复: 每个章节细化下去就是一个大专栏了,写几篇的目的是给架构师一个全局视角来看一个公司的技术架构是什么样的

    2019-09-03
  • 赤城
    对于90%以上的公司来说,存储问题可以直接通过上云来解决,最省时、低成本、高效的做法。

    作者回复: 目前来说是这样的

    2019-08-29
  • 康斯坦丁
    1 没有存储平台的开源方案,是因为存储平台只是所有需求中10%的部分. 并不符合开源的思想.
    2 而云计算,提供存储平台,是因为,对于提供云的大型互联网公司,可以组合大量小公司的需求,提供统一的平台.
    2019-08-18
  • 张飞洪
    不太理解,访问日志、操作日志、用户轨迹会有图片大吗?为什么是大文件?

    作者回复: 很多用户的数据积累在一个日志文件中

    2019-05-26
收起评论
31
返回
顶部