事件驱动模型
1.观察者模式
jdk提供的观察者模式,Observer
2.发布订阅模式
发布者向通道内发送消息,订阅者订阅消息
事件驱动模型的常用几种实现:
1.基于zookeeper的watch实现
案例:分布式环境下实现吴启停替换配置文件;将配置信息存储到zookeeper中,并检测该节点,当该节点数据替换时候,通过watch机制更新服务器的配置信息
2.基于消息队列模式实现
3.Spring的实现
场景:新生成订单信息后发送邮件信息以及短信业务
通过Spring中的@EventListener注解加在发送短信方法以及邮件方法上;方法入参是订单对象,在新生成订单后向spring的Context中放置该订单对象,并需要配置线程池;
(线程池作用:通过新的线程是执行短信和邮件发送业务,如果不定义线程池会当前线程执行,由于事务的隔离性是线程级别,邮件的发送失败会导致订单信息回滚!)
我们曾如此渴望生命的波澜,到后来才发现,人生最曼妙的风景是内心的淡定与从容