异步告警模式

作者: JUNE言JUNE语 | 来源:发表于2018-09-26 23:10 被阅读21次

做什么

记录线上发生的系统异常信息,以及一些我们需要及时通知开发者的信息,以邮件或者是其他信息流的方式,通知开发者处理。
这样子的好处是可以及时通知开发者处理一些线上的问题,不需要等到用户反应问题才去处理。

为什么要异步

一般情况下,发送邮件或者是其他信息流的方法发送消息,都是非常耗系统资源,并且是一个耗时的动作,我们更希望发生异常的时候,只是做一个快速的记录操作(几乎不会消耗多少系统性能),而发送告警消息,通过异步线程去触发。

如何实现

在我们的系统中,通过memcache实现了一个轻量级的队列,之所以使用memcache,主要原因是因为本身系统原本就是使用了memcache作为主要的缓存,不需要再引入其他新的组件。队列提供了两个主要的对外接口,入队&全部出队。
当系统发生异常,或者存在信息我们要发送给开发者时,我们可以将信息进行入队操作,另外在通过一个定时接口,每隔一段时间就将队列中的消息全部出队,组装成消息发送给开发者。

拓展

一般情况下,我们有两种信息需要发送给开发者,一种是异常信息,我们会封装一个异常处理的工具方法,在该方法中,可以把异常信息的toString信息写入队列中,等待自动发送。
另外一种就是一些日常的数据检查,将检查结果定时发送给开发者。都可以直接将信息入队。由于我们的异常信息是每分钟发送一次,所以可以认为是消息几乎实时的。

相关文章

  • 异步告警模式

    做什么 记录线上发生的系统异常信息,以及一些我们需要及时通知开发者的信息,以邮件或者是其他信息流的方式,通知开发者...

  • android mediacodec 使用注意事项

    mediaCodec有同步模式和异步模式 异步模式 【注意】异步模式 onInputBufferAvailable...

  • .NET多线程(五)异步操作

    5、异步操作 5.1 异步操作基础 异步操作发展历史,APM模式,EAP模式,TPL模式 .NET 1.0 Sys...

  • 3. AMD(异步模块模式)

    AMD(Asynchronous Module Definition)异步模块模式 异步模块模式 : 请求发出后,...

  • JavaScript异步编程

    目录 JavaScript采用单线程模式工作的原因 单线程的优势和弊端 同步模式与异步模式同步模式异步模式同步模式...

  • Spark运行在Standalone模式下产生的临时目录的问题

    Spark运行在Standalone模式下产生的临时目录的问题 1.问题描述 收到运维线上告警。告警信息:文件系统...

  • JavaScript 异步编程

    同步模式与异步模式 时间循环与消息队列 异步编程的几种方式 Primise异步方案 宏任务 /微任务队列 Ge...

  • JavaScript之异步概述

    1,异步(什么是异步,异步出现的原因,异步解决的问题,如何实现异步,什么时候需要异步模式。) JavaScript...

  • JS执行模式

    同步执行模式-调用栈 工作表(通俗说法)押入栈 弹出 时间太长 =》 阻塞 =〉异步模式 异步执行模式:不会等待这...

  • Node异步编程

    Node异步编程 目前的异步编程主要解决方案有: 事件发布/订阅模式 Promise/Deferred模式 流程控...

网友评论

    本文标题:异步告警模式

    本文链接:https://www.haomeiwen.com/subject/uaqsoftx.html