系统设计的7个基础概念!
创始人
2025-01-10 05:07:03
0


任何系统设计面试肯定会要求您为您尝试构建的任何系统提出基本的高级设计。有一些组件是肯定需要的。记下这些组件:
 

1、负载均衡器  
如果没有负载均衡器来在各个节点之间分配传入请求,就不可能拥有分布式系统。这确保了适当的资源利用,并且您的系统中没有单点故障。
 

2、缓存
大多数系统都有一些读取量大的交互,一些用户会经常访问但更新不多的信息。以无需数据库查找即可轻松获取的方式缓存此信息是有意义的。
考虑低延迟。此外,根据您的用例,您可能需要存储更频繁访问的信息或最近访问的信息。因此,请仔细阅读各种驱逐政策。
 

3、数据库
同样,没有某种形式的数据存储就没有系统。无论您是要存储文件、图像、产品信息、财务交易,还是只是转储来自各种用户交互的所有数据以供以后运行分析。
这一切都需要数据库。所以仔细阅读它。找出选择数据库时的重要因素,阅读SQL / NoSQL、查询模式,以及 CAP 定理如何在权衡取舍时发挥作用。
 

4、 消息队列
有时我们的系统需要执行一些需要完成但不一定立即完成的任务,或者它们的结果不会影响用户的旅程。
在这种情况下,与其进行服务调用并等待响应,不如将消息写入队列以便稍后执行。
如果您需要在数据库中插入信息,批量插入会更高效怎么办?只在消息队列中跟踪这些插入并执行 1 个批量插入而不是数百个 1 对 1 插入来优化您的资源是有意义的。
 

5、CDN
当您的用户分布在不同的地理位置时,在合理的时间内将您的内容提供给他们将成为一个真正的挑战。CDN 使我们能够在靠近用户位置的各种数据中心维护我们的数据副本,以减少延迟。
 

6、分析和监控
这是您创建的每个系统都需要的东西。这是一个隐藏的需求,没有人在需求收集中提出来,但每个面试官都想要这个。

用户登录还是注销?收藏了一件商品?支付失败?这是给我们的所有信息!任何重要的事情发生,触发一个事件并将其保存在您的消息队列中。

您可以对数据执行实时分析,或将其转储到Hadoop 集群中以备后用。

 

7、网络协议
根据您的要求,根据您共享的内容类型,您可能需要决定使用哪种网络协议。阅读各种网络协议以及它们何时相关,您可能需要做出哪些妥协等等。
第一步是了解所有这些概念。通过了解概念,我的意思不仅仅是关于这些是什么的一些理论知识,而是关于应该在什么时候使用什么的更实际的实践经验。
您需要了解以下内容:

  1. 给定用例,哪个是最好的选择。
  2. 在做出这些决定时,您需要考虑哪些权衡?
  3. 某些用例的最佳实践。

相关内容

热门资讯

一分钟内幕!科乐吉林麻将系统发... 一分钟内幕!科乐吉林麻将系统发牌规律,福建大玩家确实真的是有挂,技巧教程(有挂ai代打);所有人都在...
一分钟揭秘!微扑克辅助软件(透... 一分钟揭秘!微扑克辅助软件(透视辅助)确实是有挂(2024已更新)(哔哩哔哩);1、用户打开应用后不...
五分钟发现!广东雀神麻雀怎么赢... 五分钟发现!广东雀神麻雀怎么赢,朋朋棋牌都是是真的有挂,高科技教程(有挂方法)1、广东雀神麻雀怎么赢...
每日必看!人皇大厅吗(透明挂)... 每日必看!人皇大厅吗(透明挂)好像存在有挂(2026已更新)(哔哩哔哩);人皇大厅吗辅助器中分为三种...
重大科普!新华棋牌有挂吗(透视... 重大科普!新华棋牌有挂吗(透视)一直是有挂(2021已更新)(哔哩哔哩)1、完成新华棋牌有挂吗的残局...
二分钟内幕!微信小程序途游辅助... 二分钟内幕!微信小程序途游辅助器,掌中乐游戏中心其实存在有挂,微扑克教程(有挂规律)二分钟内幕!微信...
科技揭秘!jj斗地主系统控牌吗... 科技揭秘!jj斗地主系统控牌吗(透视)本来真的是有挂(2025已更新)(哔哩哔哩)1、科技揭秘!jj...
1分钟普及!哈灵麻将攻略小,微... 1分钟普及!哈灵麻将攻略小,微信小程序十三张好像存在有挂,规律教程(有挂技巧)哈灵麻将攻略小是一种具...
9分钟教程!科乐麻将有挂吗,传... 9分钟教程!科乐麻将有挂吗,传送屋高防版辅助(总是存在有挂)1、完成传送屋高防版辅助透视辅助安装,帮...
每日必看教程!兴动游戏辅助器下... 每日必看教程!兴动游戏辅助器下载(辅助)真是真的有挂(2025已更新)(哔哩哔哩)1、打开软件启动之...