系统设计入门
推荐一个开源的学习文档集,系统设计入门。地址:https://github.com/donnemartin/system-design-primer/blob/master/README-zh-Hans.md
这个教程非常详细,尤其是图画的非常清晰,比如
目的
学习如何设计大型系统。
为系统设计的面试做准备。
学习如何设计大型系统
学习如何设计可扩展的系统将会有助于你成为一个更好的工程师。
系统设计是一个很宽泛的话题。在互联网上,关于系统设计原则的资源也是多如牛毛。
这个仓库就是这些资源的组织收集,它可以帮助你学习如何构建可扩展的系统。
从开源社区学习
这是一个不断更新的开源项目的初期的版本。
欢迎贡献!
为系统设计的面试做准备
在很多科技公司中,除了代码面试,系统设计也是技术面试过程中的一个必要环节。
内容包括:
面试准备的其他主题:
学习指引如何处理一个系统设计的面试题系统设计的面试题,含解答面向对象设计的面试题,含解答其它的系统设计面试题
[*]系统设计主题:从这里开始第一步:回顾可扩展性的视频讲座
[*]第二步:回顾可扩展性的文章
[*]接下来的步骤性能与拓展性延迟与吞吐量
[*]可用性与一致性CAP 理论CP - 一致性和分区容错性
[*]AP - 可用性和分区容错性
[*]一致模式弱一致性
[*]最终一致性
[*]强一致性
[*]可用模式故障切换
[*]复制域名系统
[*]CDNCDN 推送
[*]CDN 拉取
[*]负载均衡器工作到备用切换(Active-passive)
[*]双工作切换(Active-active)
[*]四层负载均衡
[*]七层负载均衡
[*]水平扩展
[*]反向代理(web 服务器)负载均衡与反向代理
[*]应用层微服务
[*]服务发现
[*]数据库关系型数据库管理系统(RDBMS)Master-slave 复制集
[*]Master-master 复制集
[*]联合
[*]分片
[*]非规范化
[*]SQL 调优
[*]NoSQLKey-value 存储
[*]文档存储
[*]宽列存储
[*]图数据库
[*]SQL 还是 NoSQL
[*]缓存客户端缓存
[*]CDN 缓存
[*]Web 服务器缓存
[*]数据库缓存
[*]应用缓存
[*]数据库查询级别的缓存
[*]对象级别的缓存
[*]何时更新缓存缓存模式
[*]直写模式
[*]回写模式
[*]刷新
[*]异步消息队列
[*]任务队列
[*]背压机制
[*]通讯传输控制协议(TCP)
[*]用户数据报协议(UDP)
[*]远程控制调用协议(RPC)
[*]表述性状态转移(REST)安全
[*]附录2 的次方表
[*]每个程序员都应该知道的延迟数
[*]其它的系统设计面试题
[*]真实架构
[*]公司的系统架构
[*]公司工程博客正在完善中致谢联系方式许可
我感觉有的看了
声明:以上内容来源于网络,如有侵权请联系我们(123@shiyan.com)删除! [鼾睡]
页:
[1]