42 | 互联网架构模板:“网络层”技术
该思维导图由 AI 生成,仅供参考
负载均衡
- 深入了解
- 翻译
- 解释
- 总结
互联网架构模板中的“网络层”技术是互联网业务发展的关键特点之一。本文介绍了负载均衡、CDN和多机房等关键架构设计点。负载均衡通过将请求均衡地分配到多个系统上来实现高性能和高可用,包括DNS、Nginx、LVS、F5等方式。CDN则通过将内容缓存在离用户最近的地方来解决用户网络访问时的“最后一公里”效应,加速用户访问。多机房设计则是为了提高业务的高可用性,包括同城多机房、跨城多机房和跨国多机房等策略。此外,文章还介绍了多中心设计的复杂性和关键在于“数据一致性”和“数据事务性”如何保证。文章指出,多中心设计的难度高,需要基于业务的特性进行详细的分析和设计。最后,文章提出了一个思考题:为什么可以购买负载均衡和CDN服务,但却不能购买多机房和多中心服务?这引发了对于互联网架构设计的深度思考和讨论。
《从 0 开始学架构》,新⼈⾸单¥68
全部留言(35)
- 最新
- 精选
- narry负载均衡和cdn基本是和业务无关,具有通用性,而每个业务对数据的一致性和事务要求都不一样,需要单独设计,所以无法将多机房和多中心作为基础服务对外提供
作者回复: 赞同
2018-08-0269 - J老师你好,请教一个问题,像车联网这种业务,拥有上百万的车载终端,车端会实时上传当前数据,同时服务器会需要控制单独某台车(下行消息),这种场景一般采用哪种架构呢?如果采用MQ的话,一般的消息中间件只能支持几千上万的队列,满足不了要求,请老师指点,谢谢🙏
作者回复: 通常的做法是将连接管理和消息管理分开,消息队列存储需要下发的消息,连接管理从消息队列取消息然后下发,消息中标识要发给哪台车
2018-09-04530 - 许鑫想问下,类似支付宝的场景如何保证异地金额的强一致性
作者回复: 我不清楚技术细节,从理论上来说,余额和库存异地强一致性会导致性能大幅下降,不适合互联网场景。支付宝有个TCC事务模型,你可以查一下资料。 即使是银行,对并发性能要求没那么高,余额也难以做到异地强一致性,我了解一般都是做备份,异地强一致性太复杂
2018-08-07318 - 钱课后思考及问题 1:为什么可以购买负载均衡和 CDN 服务,但却不能购买多机房和多中心服务? 这个问题,我第一感觉是个伪问题,商业社会没什么不能买的,土地、房屋、武器、公司都能买卖,多机房和多中心服务更如是。 当然也理解老师的意思,主要是站在架构师的角度来看,负载均衡和CDN与业务关联性小,花钱也相对少,买来直接就能用,需要的也多一些,所以,购买使用比较顺当自然。 多机房和多中心服务,实现上和业务关联性大,除非订制化否则难以买来就用,如果自己的公司都发展到必须使用多机房和多中心了,招兵买马自己搞一套才是自然而然的想法。
作者回复: 思考和回答很到位👍👍
2019-09-0415 - SMTCodeCDN和LB是基于通用技术和协议,实现请求的调度与转发等功能。而多机房、多中心,是与业务强相关,对业务有很大侵入性的,只能是服务的实现者根据自己的侧重点,选择合适的技术,有针对性的实现服务的三高指标。
作者回复: 正确👍
2018-08-0215 - kyq叶鑫老师你好,你在评论或者专栏中多次说道金融类业务无法做到跨城强一致性,并以支付宝举例,我一直有一个疑问:那么如果一个支付宝用户走出其数据所在大区,支付宝是如何处理这个用户的数据,保证业务不出错的呢? 望解惑。
作者回复: 有全局路由会把用户路由到其数据归属的大区
2018-12-0513 - LB仔仔老师你好,有两个问题请帮忙解答: 1.请问银行异地存取款的数据强一致性是怎么做到的?还可以在国外消费做到强一致性? 2.银行常用的两地三中心是真正的多中心吗?如何判断? 谢谢。
作者回复: 1. 异地取款其实只是用户异地操作,系统还是会回到用户开户行判断余额;异地存款不需要校验余额,只需要校验账号,因此做异地存款是可以的,因为银行能收到物理上真正的钱,不用担心数据丢失的问题 2. 两地三中心,是指同城两个机房是双活,异地机房是备份,当同城两个机房都挂掉,异地机房不能接管业务,只能用来备份恢复
2018-08-069 - 呵呵大神问两个问题,1.假如有很多台nginx做负载均衡,那么请求是如何分发到这么多nginx服务上的?2. 对于支付宝的转账业务,需要数据强一致性,那是不是就无法做到跨城市区域存储相关的数据?
作者回复: 1. 硬件负载均衡设备,F5了解一下 2. 是的,跨城不行,但同城多机房可以基于paxos算法设计分布式一致性存储系统,例如oceanbase
2018-08-2726 - 凡凡多机房多中心,业务相关性太强,很难抽象绝对合适的模型,通用差。一般都是企业按照自己的特定业务,适当的做多中心,或者做到数据异地灾备,或者做到多中心服务。 或许,现在的云服务厂商,会逐渐面向行业,抽象出多种多中心方案,也是可能得。 毕竟云服务厂商在全球范围,已经有了很多机房,如果能抽象出来一定会做尝试的,不论用户多少,这是一种能力。
作者回复: 是的,现在有金融云,游戏云,证券云等解决方案了
2018-08-056 - LB仔仔老师,服务器中间件的连接数有限,例如WAS的连接池一共有几千。而咱们说的一台服务器都并发好几万,请问是怎么搞的?谢谢。
作者回复: 一般说并发可以是并发连接,也可以是并发请求,nginx这类基于事件驱动架构的服务器,连接数和请求数都可以上万,以前的apache基于ppc模式,连接数受C10K问题限制,达不到上万
2018-08-055