问答详情
源自:1-1 前端交互流程设计

关于分布式环境下的几个问题

1.根据系统标准时间判断,如果分布式环境下各机器时间不同步怎么办。同时发起的两次请求,可能一个活动开始 另一个提示没开始 2.如果判断逻辑都放到后端,遇到有刷子,后端处理这些请求扛不住了咋整,可能活动没开始,服务器已经挂掉了、 3.负载均衡问题,比如根据地域在nginx哈希,怎样能较好的保证各机器秒杀成功的尽量分布均匀呢。 以上几个问题,老师方便做进一步的讲解不,谢啦

提问者:慕UI0979165 2016-05-22 11:05

个回答

  • 益军
    2016-05-22 12:14:00
    已采纳

    第1个问题:后端服务器需要做NTP时间同步,如每5分钟与NTP服务同步保证时间误差在微妙级以下。时间同步在业务需要或者活性检查场景很常见(如hbase的RegionServer),这块课程里没有说明这里补充一下。

    第2个问题:秒杀开启判断在前端和后端都有,后端的判断比较简单取秒杀单做判断,这块的IO请求是DB主键查询很快,单DB就可以抗住几万QPS,后面也会加入redis缓存为DB减负。

    第3个问题:负载均衡包括nginx入口端和后端upstream服务,在入口端一般采用智能DNS解析请求就近进入nginx服务器。后端upstgream不建议采用一致性hash,防止请求不均匀。后端服务无状态可以简单使用轮训机制。nginx负载均衡本身过于简单,可以使用openresty自己实现或者nginx之后单独架设负载均衡服务如Netflix的Zuul等。

    对于流量爆增的造成后端不可用情况,这门课程并没有做动态降级和弹性伸缩架构上的处理,后面受慕课邀请会做一个独立的实战课,讲解分布式架构,弹性容错,微服务相关的内容,到时会加入这方面的内容。


  • Wayen999
    2017-11-04 11:17:29

    非常感谢,后面的课程请开通收费

  • KURO_NEKO
    2016-07-04 22:39:44

    好期待后面分布式的知识