关于淘点点面试中碰到的架构设计问题?

面试题Category: Java关于淘点点面试中碰到的架构设计问题?
jacktao219 Staff asked 2 years ago

此题是面试淘点点的问题,由于没经验所以败在这个题目下面,因此请权威人士指点 指点,谢谢。。
问题描述:让您做一个电商平台,您如何设置一个在买家下订单后的”第60秒“发短信通知卖家发货,您需要考虑的是 像淘宝一样的大并发量的订单。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 关于淘点点面试中碰到的架构设计问题?

FavoriteLoading添加本文到我的收藏
9 Answers
alchimie Staff answered 2 years ago

1. 准备一个FIFO队列,因为订单肯定有先后顺序的,所以最先进队列的一定先发;
2. 一个专门的消费者线程处理出队,判断时间是否到达”60秒”,没到就空循环或sleep,到达时间后丢给发短信线程池处理;
3. 如果要求故障恢复的话,保存订单同时保存该订单处理机器标识,监控程序发现某机器宕机后通知集群另一台机器从存储中获取宕机机器所有“未发送通知”的订单。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 回答关于淘点点面试中碰到的架构设计问题?

FavoriteLoading添加本文到我的收藏
jacktao219 Staff answered 2 years ago

已经有思路并且初步实现,请看这个http://my.oschina.net/u/926166/blog/522227

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 回答关于淘点点面试中碰到的架构设计问题?

FavoriteLoading添加本文到我的收藏
Rime Staff answered 2 years ago

 订单系统和发短信任务系统分离,订单系统创建订单后异步添加短信发送任务到任务系统,任务系统每秒钟扫描。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 回答关于淘点点面试中碰到的架构设计问题?

FavoriteLoading添加本文到我的收藏
coderym Staff answered 2 years ago

可以通过分布式调度框架来实现,将这种通用的调度任务交给专门的系统来处理,接收下单的时间和订单的基本信息做为触发这个任务的参数即可
触发动作可以用过类似kafka的消息中间件进行传递

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 回答关于淘点点面试中碰到的架构设计问题?

FavoriteLoading添加本文到我的收藏
coderym Staff answered 2 years ago

可以通过分布式调度框架来实现,将这种通用的调度任务交给专门的系统来处理,接收下单的时间和订单的基本信息做为触发这个任务的参数即可
触发动作可以用过类似kafka的消息中间件进行传递

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 回答关于淘点点面试中碰到的架构设计问题?

FavoriteLoading添加本文到我的收藏

return top