• narry
    2018-08-02
    负载均衡和cdn基本是和业务无关,具有通用性,而每个业务对数据的一致性和事务要求都不一样,需要单独设计,所以无法将多机房和多中心作为基础服务对外提供

    作者回复: 赞同

    
     19
  • 许鑫
    2018-08-07
    想问下,类似支付宝的场景如何保证异地金额的强一致性

    作者回复: 我不清楚技术细节,从理论上来说,余额和库存异地强一致性会导致性能大幅下降,不适合互联网场景。支付宝有个TCC事务模型,你可以查一下资料。
    即使是银行,对并发性能要求没那么高,余额也难以做到异地强一致性,我了解一般都是做备份,异地强一致性太复杂

     1
     8
  • SMTCode
    2018-08-02
    CDN和LB是基于通用技术和协议,实现请求的调度与转发等功能。而多机房、多中心,是与业务强相关,对业务有很大侵入性的,只能是服务的实现者根据自己的侧重点,选择合适的技术,有针对性的实现服务的三高指标。

    作者回复: 正确👍

    
     7
  • J
    2018-09-04
    老师你好,请教一个问题,像车联网这种业务,拥有上百万的车载终端,车端会实时上传当前数据,同时服务器会需要控制单独某台车(下行消息),这种场景一般采用哪种架构呢?如果采用MQ的话,一般的消息中间件只能支持几千上万的队列,满足不了要求,请老师指点,谢谢🙏

    作者回复: 通常的做法是将连接管理和消息管理分开,消息队列存储需要下发的消息,连接管理从消息队列取消息然后下发,消息中标识要发给哪台车

    
     5
  • kyq叶鑫
    2018-12-05
    老师你好,你在评论或者专栏中多次说道金融类业务无法做到跨城强一致性,并以支付宝举例,我一直有一个疑问:那么如果一个支付宝用户走出其数据所在大区,支付宝是如何处理这个用户的数据,保证业务不出错的呢?
    望解惑。

    作者回复: 有全局路由会把用户路由到其数据归属的大区

    
     3
  • 呵呵
    2018-08-27
    大神问两个问题,1.假如有很多台nginx做负载均衡,那么请求是如何分发到这么多nginx服务上的?2. 对于支付宝的转账业务,需要数据强一致性,那是不是就无法做到跨城市区域存储相关的数据?

    作者回复: 1. 硬件负载均衡设备,F5了解一下
    2. 是的,跨城不行,但同城多机房可以基于paxos算法设计分布式一致性存储系统,例如oceanbase

    
     3
  • 凡凡
    2018-08-05
    多机房多中心,业务相关性太强,很难抽象绝对合适的模型,通用差。一般都是企业按照自己的特定业务,适当的做多中心,或者做到数据异地灾备,或者做到多中心服务。

    或许,现在的云服务厂商,会逐渐面向行业,抽象出多种多中心方案,也是可能得。

    毕竟云服务厂商在全球范围,已经有了很多机房,如果能抽象出来一定会做尝试的,不论用户多少,这是一种能力。

    作者回复: 是的,现在有金融云,游戏云,证券云等解决方案了

    
     2
  • 空档滑行
    2018-08-02
    负载均衡和cdn虽然复杂,但是局限于技术层面。多中心和多机房则是技术和业务都要涉及到改造,比如文中说的淘宝多中心业务,每个业务模块都要定制,所以提供通用服务是不现实的

    作者回复: 正确👍

    
     2
  • godtrue
    2019-09-04
    课后思考及问题
    1:为什么可以购买负载均衡和 CDN 服务,但却不能购买多机房和多中心服务?
    这个问题,我第一感觉是个伪问题,商业社会没什么不能买的,土地、房屋、武器、公司都能买卖,多机房和多中心服务更如是。
    当然也理解老师的意思,主要是站在架构师的角度来看,负载均衡和CDN与业务关联性小,花钱也相对少,买来直接就能用,需要的也多一些,所以,购买使用比较顺当自然。
    多机房和多中心服务,实现上和业务关联性大,除非订制化否则难以买来就用,如果自己的公司都发展到必须使用多机房和多中心了,招兵买马自己搞一套才是自然而然的想法。

    作者回复: 思考和回答很到位👍👍

    
     1
  • Darrykinger.com
    2018-08-07
    比较好奇:像支付宝银行这些实现异地多中心的情况是如何达到的?专门部署自己的传输路线?包括蚂蚁金融、以前用mysql实现异地多数据中心,发现延迟有点大,稍微不对的操作就不同步了、

    作者回复: 1. 有钱的公司买专线,非常有钱的公司自己搭建网络
    2. 有的数据不能实现多中心,但可以实现数据分区,例如分为南方,北方,西南,西北四个数据大区

    
     1
  • LB
    2018-08-06
    仔仔老师你好,有两个问题请帮忙解答:
    1.请问银行异地存取款的数据强一致性是怎么做到的?还可以在国外消费做到强一致性?
    2.银行常用的两地三中心是真正的多中心吗?如何判断?
    谢谢。

    作者回复: 1. 异地取款其实只是用户异地操作,系统还是会回到用户开户行判断余额;异地存款不需要校验余额,只需要校验账号,因此做异地存款是可以的,因为银行能收到物理上真正的钱,不用担心数据丢失的问题
    2. 两地三中心,是指同城两个机房是双活,异地机房是备份,当同城两个机房都挂掉,异地机房不能接管业务,只能用来备份恢复

    
     1
  • LouisLimTJ
    2018-08-06
    其实谷歌有些产品号称可以做到同城和跨城高可用了,比如cloud Spanner,当然我没有在这些产品针对高可用的问题进行针对性的测试。
    回到问题上来,主要第一. 想用的公司本来就少,方案贵;第二. 既然要用也是趋向自搭,可以针对业务进行定制化处理;第三. 个人看法,所提的问题层次最多是PaaS, 而既然同城跨城高可用跟业务有关,如果云平台技术实力强,不见得不可以考虑实现SaaS级别的跨城高可用

    作者回复: 希望云平台能解决,目前很多公司都有多活的需求,但技术上自己又实现不了

    
     1
  • LB
    2018-08-05
    仔仔老师,服务器中间件的连接数有限,例如WAS的连接池一共有几千。而咱们说的一台服务器都并发好几万,请问是怎么搞的?谢谢。

    作者回复: 一般说并发可以是并发连接,也可以是并发请求,nginx这类基于事件驱动架构的服务器,连接数和请求数都可以上万,以前的apache基于ppc模式,连接数受C10K问题限制,达不到上万

    
     1
  • 敬艺
    2018-08-05
    即使机房接入CDN,如果CDN支持的网络服务商不够的话,用户访问时不时出现超时。如CDN只接入电信和联通(一时很难覆盖所有网络服务商),用户使用移动网络,访问服务会出现超时。请问大致从几方面优化?

    作者回复: 接CDN一般都是三线都接的

    
     1
  • 正是那朵玫瑰
    2018-08-02
    华仔老师:
    1、DNS负载均衡不一定是地里级别的吧,如consul就实现了dns服务器,内部服务注册到consul,消费者调用服务可以通过dns服务器做负载均衡,服务故障下线也能及时更新!
    2、cdn和负载均衡应该是通用的技术吧,多机房和多中心跟业务强关联,没法抽象通用的东西来,就算能,使用起来也不灵活吧!

    作者回复: 1. 可以做你说的功能,但这样做不常见,出问题可能处理比较麻烦
    2. 正解

    
     1
  • Jun
    2019-12-22
    多机房和多中心也可以作为基础服务对外提供。 亚马逊的云服务从一开始就有多availability zone和多region.

    服务可以提供,但是用户能不能购买服务用在自己的业务是用户方的考量。这主要看业务的特点和实现代价。
    
    
  • 行者
    2019-03-10
    多中心和CDN复杂度不在一个量级。
    
    
  • ThinkingQuest
    2018-11-20
    dig baidu.com 实际上是看不到它这个域名用了多少个ip的吧。 因为它做了“智能解析”,根据地域,运营商等信息返回了特定的A记录地址。

    这个问题我一直挺疑惑的,就是“如何查询一个域名全部的dns地址解析”,这是不是一个无解问题呢?

    作者回复: 这个真不能由普通用户一下查出来的,就算运营商,也只是知道自己网络内的配置

    
    
  • 劉阳河
    2018-11-15
    老师,F5来分发100w的请求,是直接分发到服务器上吗?

    作者回复: 一般会先分发到nginx一类的软件负载均衡上

    
    
  • 正弋
    2018-11-02
    我们做了一个API网关,想咨询一下有什么好的办法能监控调用方到网关以及网关到后端服务之间的网络状况

    作者回复: 没有什么特别的技巧,就是打点统计

    
    
我们在线,来聊聊吧