1.根据系统标准时间判断,如果分布式环境下各机器时间不同步怎么办。同时发起的两次请求,可能一个活动开始 另一个提示没开始 2.如果判断逻辑都放到后端,遇到有刷子,后端处理这些请求扛不住了咋整,可能活动没开始,服务器已经挂掉了、 3.负载均衡问题,比如根据地域在nginx哈希,怎样能较好的保证各机器秒杀成功的尽量分布均匀呢。 以上几个问题,老师方便做进一步的讲解不,谢啦
第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等。
对于流量爆增的造成后端不可用情况,这门课程并没有做动态降级和弹性伸缩架构上的处理,后面受慕课邀请会做一个独立的实战课,讲解分布式架构,弹性容错,微服务相关的内容,到时会加入这方面的内容。
非常感谢,后面的课程请开通收费
好期待后面分布式的知识