论文部分内容阅读
在当今的社会中,互联网已经在人们的生活中占据了举足轻重的地位,最开始的各种手工作业在人们的生活中已经慢慢的消失了踪影,被取代的是日益发达的网络,在网络时代,各种应用逐渐的改变着人们的生活习惯,各种大型项目管理系统就这样慢慢产生,随着各种应用越来越复杂,越来越繁琐,其中慢慢产生了很多问题,其中一点就是很难做到实时监控。因为一旦项目出现问题或者故障,如果没有监控,问题出现了以后也不知道如何去解决,出了问题,就只能一步一步排查,这在现代的企业里面是很难接受的,通知中心系统在此时就发挥了它的作用。通知中心系统,简单点来理解,就是负责接收其他系统传递过来的请求,然后发送它所需要的信息给相应人员的系统,它可以以邮件、短信、企业QQ、微信等等方式将有用的信息传递给需要的人员。通知中心系统的目的就是在系统出现故障的第一时间,将有关信息发送给相关人员,这样可以有效地避免没有头绪的排查问题这一难题。该多线程通知中心系统主要分为五大模块,分别为管理模块、生产模块、发送模块、Nsq队列[10]模块、远程服务(Grpc)调用[21]模块。其中管理模块的主要功能就是对对此系统进行必要的管理,比如应用创建的管理、邮件模版管理、短信模版管理、微信模版管理、企业QQ模版管理、语音验证管理、Nsq消息队列监控管理、报表管理。生产模块主要负责对远程服务调用进行鉴权验证、流量(调用量)监控、消息(逻辑)处理。发送模块主要负责从Nsq队列上获取发送消息、模版的渲染、消息的发送、多线程[32]发送、第三方借口的调用等等。Nsq队列模块主要负责存储从生产模块传递过来的消息,并且随时准备传送给发送模块。远程服务(grpc)调用模块主要负责在远端建立grpc客户端并且调用通知中心系统发送接口。该多线程通知中心系统的实现能够在管理界面上创建相关的应用app,并且设立相应的频率管理,其他的系统需要借助本系统来发送他们希望发送的消息。在这一过程中需要首先经过鉴权,然后会验证发送过来的信息是否在系统内有对应的app,如果有的话,则会进入下一步,会暂时存储在Nsq消息平台管理中心,然后等待发送模块监听到Nsq以后,从Nsq消息队列上获取它,找到它对应的发送信息模版,进行模版渲染,渲染成功以后,找到对应的第三方API,多线程进行消息发送给特定的用户。该系统的实现可以说极大的丰富了现有的多数系统,可以对它们进行及时的监管,当系统出现异常情况,可以及时调用本通知中心系统,然后将对应的异常情况信息发送给特定的用户,及时排查问题,使系统逐渐趋于稳定。