2019-11-07全都是实际场景

1.下单未支付,关单,订单量小的时候可以用脚本,把这些找出来,订单大的时候,分库分表,用脚本找不现实,所以把关单操作独立出来,类似kafka,mq,投递消息的时候带上投递时间,本平台会在指定时间点,让消费者消费,单机和集群版,考虑怎么操作?

不同操作,定时的时间不同,知识点:

1)存储方面底层数据结构什么样子好?

    时间轮:任务添加\移除O(1);不占用大量资源;一个线程推进就工作  千万级delayQueue增删非常慢

2)消息怎么存好?kafka怎么存,扫描器怎么设计?可以根据自己的结构设计一个扫描器。

    为什么Kafka速度那么快https://www.jianshu.com/p/c9c4279164ed

    kafka解决了什么问题?https://www.jianshu.com/p/c9c4279164ed

    (3)Kafka中的时间轮算法https://www.jianshu.com/p/ae84bb32366c

3)我随便回答的,kafka超时么?他问:超时kafka会支持么?让他出队?如果是队列,怎么存储好?

    (三)延迟任务处理方案 https://www.jianshu.com/p/ca46c393be1f

    延迟队列DelayQueue实现订单自动取消https://www.jianshu.com/p/072ecd523590

    高并发异步延时消息系统https://www.jianshu.com/p/791d9079493e

2.缓存类的组件,短信平台,防止骚扰,比如1小时不能超过两条短信,一天不能超过5条短信。怎么落地比较好?整个集群无状态。

每次发短信的时候都要去db,缓存里存?两个字段怎么存储,比如发短信时间,计数器(吞吐量不大的时候,而且会出现毛刺)。

用滑动窗口算法解决

3.分布式锁,过期时间很短,gc期间已经过期,实际还在执行,另一个线程也拿到锁,也继续执行,执行两次,这个分布式锁,我们应该怎么写?

为什么要用lua脚本?lua脚本里的内容?应该还有什么别的办法?

https://www.jianshu.com/p/914c738d29f3

https://www.jianshu.com/p/c325747378eb

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 12,127评论 0 34
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,872评论 0 17
  • 简述 使用分布式锁的目的: 提高效率:使用分布式锁避免不同节点重复性的操作,比如:推送、定时任务等 保证正确性:避...
    Jerry_06ed阅读 3,558评论 0 4
  • 这张关系船里有突然醒悟的妈妈,和那个一直在却被忽视的内在小孩,今天他们真正相见,彼此欢心,妈妈用花朵表达了对...
    大漠孤烟丁阅读 3,106评论 0 0
  • 题目:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回...
    qming_c阅读 1,405评论 0 0

友情链接更多精彩内容