个人知乎 ##基础六/功能六-异步队列实现赞踩站内信
来源:互联网 发布:各国域名后缀 编辑:程序博客网 时间:2024/05/01 11:43
个人知乎
基础六/功能六-异步队列实现赞踩站内信
基本概念
同步业务 request->controller->service 立即执行异步业务 service不立即处理,仅把它置入待处理事件缓冲池 比如:点赞同时异步发送站内信事件缓冲池 单向队列/优先队列
结构
package:asyncEventType 记录事件的类型EventModel 具体事件的内存模型 事件类型,触发者,时间,接收者等...EventProducer @Service,事件入队服务 fireEvent(EventModel) 利用jedis.list+对象序列化实现List<JSON(EventModel)>EventHandler 所有Handler接口 doHandle: 具体handler的不同处理 List<EventType> getSupportEventTypes() 注册handler所关心的事件类型,通过Handler查typeEventConsumer 分发Event给Handler 利用applicationContext自动构造出所有Type,List 并启动线程 Map<EventType,List<EvenHandler> >config 记录某种类型需要经历的多个Handler,通过type反查 Handler Thread 一个不断从jedis中取JSON并反序列化成EventModel的线程 并将该事件分发个对应的EventHandler具体Handler 实现EventHandler接口 处理可以异步的业务
例子
在controller调用Service的同时,将一个异步事件加入到队列举一反三 网络编程事件包分发给不同的handler
阅读全文
0 0
- 个人知乎 ##基础六/功能六-异步队列实现赞踩站内信
- 个人知乎 ##功能四-站内信
- 个人知乎 ##功能五-赞踩功能对评论
- 个人知乎 ##基础三-数据库基础
- “站内信”的实现
- 第6篇 基础(六)实现Qt文本编辑功能
- 第6篇 基础(六)实现Qt文本编辑功能
- Qt5基础(六)实现Qt文本编辑功能学习笔记
- thinkPHP+jQuery实现站内信功能-讲给菜鸟同学
- 关于JavaWeb如何实现用户类似站内信功能
- 个人知乎 ##功能一-登录注册
- 个人知乎 ##功能二-问题发布
- 个人知乎 ##功能三-评论中心
- 个人知乎 ##功能七-邮件发送
- 个人知乎 ##功能八-关注服务
- 转载站内信功能解决方案
- 个人知乎 ##基础一-项目介绍
- 个人知乎 ##基础二-WEB知识
- Centos7下docker安装log.io日志监控
- 进程
- PEP8 Python 编码规范整理
- 基本
- A. Classroom Watch
- 个人知乎 ##基础六/功能六-异步队列实现赞踩站内信
- Item 10:令赋值操作符返回一个this指针【effective C++读书笔记】
- 机器学习中学习曲线的 bias vs variance 以及 数据量m
- 7.1
- 链路层
- Java小面试题(2)
- ARM中MMU原理剖析
- 数据结构<十二>: 不可变的String实现
- 基于OpenCV下---多红外目标检测、跟踪、质心坐标提取、跟踪目标排序