当前位置:首页 > 经验 >

什么是qqbot(qq的bot之间怎么互动)

来源:原点资讯(m.360kss.com)时间:2022-11-01 03:40:57作者:YD166手机阅读>>

nextsystem4(NS4)系列模块是宜信开源的围绕当前支付系统笨重、代码耦合度高、维护成本高而产生的分布式业务系统解决方案。NS4系列框架允许创建复杂的流程/业务流,对于业务服务节点的实现可串联,可分布式。其精简、轻量,实现了“脱容器”(不依赖tomcat、jetty等容器)独立运行。NS4系列框架的设计理念是将业务和逻辑进行分离,开发人员只需通过简单的配置和业务实现就可以实现逻辑复杂、性能高效、功能稳定的业务系统。

NS4系列包括4个开源模块,分别是:ns4_frame 分布式服务框架ns4_gear_idgen ID 生成器组件(NS4框架Demo示例)ns4_gear_watchdog 监控系统组件(服务守护、应用性能监控、数据采集、自动化报警系统)ns4_chatbot通讯组件

NS4系列模块的核心优势主要体现在以下几个方面:

  • 具有很好的伸缩性,可以优雅地扩容和降级;
  • 集中化管理,对各个节点的消息进行集中式管理和分发;
  • 易维护,将复杂的流程性业务拆分成多个模块系统进行交互,减少代码耦合;
  • 完善的调用链路,对于链路复杂的系统可以准确地定位出错的环节。
  • 可以通过在线聊天机器人实现及时的自动提醒。

项目开源地址:https://github.com/newsettle

一、ns4_frame

开源地址:https://github.com/newsettle/ns4_frame

ns4_frame是一个高性能优秀的分布式服务框架,允许创建复杂的流程/业务流,对于业务服务节点的实现可串联,可分布式。其精简、轻量,实现了“脱容器”(不依赖tomcat、jetty等容器)独立运行。ns4_frame将业务和逻辑进行分离,开发人员只需通过简单的配置和业务实现就可以实现逻辑复杂、性能高效、功能稳定的业务系统。

项目结构

ns4_frame是一套MAVEN父子项目,由五个子项目组成:

  • NS_MQ :负责和底层消息队列进行通信,提供了对消息队列进行操作的API。目前NS4底层支持redis作为消息中间件,同时提供通用的接口,可以扩展多种消息中间件,对消息中间件的操作被封装入了NS_MQ项目中。
  • NS_TRANSPORTER:通过调用NS_MQ提供的API,对业务消息进行收取、处理、转发。它本质是一套消息收发处理框架,主要负责接收消息后反向回调业务代码,并将消息交给业务层处理,当业务层处理完毕后,再将处理后的消息返回给redis中。
  • NS_CHAIN:一个可选开发框架,负责对同一个JVM中的业务处理步骤进行链条式的整合,组成当前业务模块的业务处理流程。
  • NS_CONTROLLER:一个业务消息转发应用,负责将接收到的消息转给对应的业务模块进行处理,同时根据整体业务将业务模块进行关联.NS_CONTROLLER本质是一个独立的应用系统,构建于 NS_TRANPORTOR和NS_CHAIN之上。
  • NS_DISPATCHER :NS4架构规定的消息入口,以NETTY框架作为基础,通过提供的HTTP服务接受业务系统边界外的http请求,并将请求转化成业务系统内部通信使用的消息协议格式。

什么是qqbot,qq的bot之间怎么互动(1)

上图展示了NS4每个系统的层次结构。

运行流程

NS4整套系统本质上其实就是一套消息中间件服务加开发框架,整体的结构图如下:

什么是qqbot,qq的bot之间怎么互动(2)

上图展示了一个NS4整体分布式项目的运行流程。一个消息的运转流程按如下顺序:

  • NS_DISPATCHER收到http请求并将其转化为内部消息协议放入指定的消息队列中(根据配置文件) 。
  • NS_CONTORLLER从步骤1指定的队列接收到消息,并根据配置的服务编排开始按照顺序将消息发送到每个业务系统步骤对应的消息队列中。
  • 业务系统收到步骤2中NS_CONTROLLER指定的消息队列的信息,开始处理,处理完毕后,将结果返回。
  • NS_CONTROLLER收到业务系统的响应,开始根据配置好的服务将返回的消息结果发送到下一个业务系统对应的消息队列中。
  • 消息被所有的业务系统处理完成后,NS_CONTROLLER把消息处理结果放入到指定的消息队列里,NS_DISPATCHER从对应的消息队列里取出消息结果,响应给http调用者。

二、ns4_gear_idgen

开源地址:https://github.com/newsettle/ns4_gear_idgen

ns4_gear_idgen (ID生成器)是基于NS4框架实现的,它支持分布式部署,生成全局唯一的 ID,其中长度、前缀、后缀、步长、进制也可根据自己的业务自由配置,还可以通过ns4_gear_idgen对NS4.0框架进行测试。

优点

  • 很方便的线性扩展,能够支撑大多数业务场景。
  • 生成ID规则多样,可根据业务需求自由配置,且支持10进制、36进制、62进制。
  • 业务之间ID相互隔离,互不影响。
  • 获取ID不用频繁操作数据库,快消耗完号段内ID时才会操作数据库,减轻了数据库的压力。
  • 提前初始化号段内的ID,保证在每个号段内ID使用完之前完成初始化,避免业务使用完ID后再初始化所带来的影响。
  • 可以自定义 key_value 的大小,业务可以很方便地从原有的ID方式迁移过来。
  • 容灾性高,服务内部有号段缓存,即使DB宕机,短时间内仍能正常对外提供服务。

三、ns4_gear_watchdog

开源地址:https://github.com/newsettle/ns4_gear_watchdog

ns4_gear_watchdog是ns4_frame进程的父进程,守护并管理ns4_frame进程。它的职责包括以下几个方面:

  • 对ns4_frame进行远程启动和停止、实时监测ns4_frame进程的健康状态、内存消耗、CPU使用、内部线程;
  • 收集ns4_frame实现的业务日志归集、实现业务内部实时流转的业务数据,达到实时对ns4_frame进程在线上的运行状态、实现的业务以及业务数据的流转状态等方面的监控,并精准、快速、便捷地定位出异常以及CPU、线程等运行状态。

ns4_gear_watchdog是作为父进程存在的,通过父进程启动目标项目(子进程),并针对子进程应用生存的环境因素(包括系统层面的内存消耗、CPU 使用、负载、线程等)、实现功能的代码因素(代码健康程度)、业务因素等数据进行实时监控。父子进程通过 jmx 方式进行通讯,采集以上因素数据,并将这些数据保存到 ElasticSearch 中,进一步通过分析数据和现实运行情况总结制定出的指标相结合,将该以上因素数据通过微信机器人实时通知提醒相关负责人。

什么是qqbot,qq的bot之间怎么互动(3)

[ns4_gear_watchdog基本结构图]

四、ns4_chatbot

开源地址:https://github.com/newsettle/ns4_chatbot

ns4_chatbot是一个机器人的聊天框架,集成了qqbot、WxChat、rasa以及web服务。ns4_chatbot提供微信和qq聊天接口,可以对某个群组发送系统监控消息等,还可以把ns4_gear_watchdog监控信息发送到对应的群组中。

ns4_chatbot实现的功能:

  • 接受内部系统(如监控系统)的系统调用,从而把消息推送给 QQ 或者微信用户。内部系统调用服务时,需要提供以下信息:
  • 发给哪个群组
  • 发给这个群组中的哪个用户
  • 发送的消息内容
  • 可以接受 QQ、微信用户的对话,理解其意图,并且回应用户。

栏目热文

qq币风控(qq风控是什么意思)

qq币风控(qq风控是什么意思)

10月8日晚间,一则旧闻被再度翻出,一个拥有1200枚比特币的交易账户,被币安冻结。9日凌晨,何一回应说:该账号涉及违法...

2022-11-01 03:13:12查看全文 >>

qq里面比特币在哪(在哪里可以知道自己qq有比特币)

qq里面比特币在哪(在哪里可以知道自己qq有比特币)

10月底,随着中国最大的两家比特币交易所火币网和OKCoin币行暂停交易,数字货币对人民币交易似乎偃旗息鼓。但眼看着比特...

2022-11-01 03:42:16查看全文 >>

qq交易所怎么玩(qq交易中心在哪里)

qq交易所怎么玩(qq交易中心在哪里)

前言:近年来,“虚拟货币”是一个热词,在电诈领域,这也是诈骗分子热衷的一个词语,一些诈骗分子以投资虚拟货币为名,引诱不少...

2022-11-01 03:19:04查看全文 >>

qq币能干什么(qq里的q币怎样赠送给好友)

qq币能干什么(qq里的q币怎样赠送给好友)

虽然现在QQ已经势头不如微信,但QQ仍旧在即使社交领域占据着很大的数额,尤其在年轻人群体里更是如此,QQ凭借特色年轻化的...

2022-11-01 03:13:57查看全文 >>

qq超市的uid是什么(qq超市口碑怎么升)

qq超市的uid是什么(qq超市口碑怎么升)

来源:北京日报昨日,在北京通州一快递站点,快递小哥在雪中备货。本报记者 蔡代征摄在疫情影响下,不少餐厅暂时歇业,但市民对...

2022-11-01 03:50:44查看全文 >>

brc是什么币(brc币发行价多少钱)

brc是什么币(brc币发行价多少钱)

​01项目简介Baer Chain,代码简称:BRC,中文名:贝尔链,创始人Vincent,毕业于UCLA(加州大学洛杉...

2022-11-01 03:34:13查看全文 >>

qq消费币怎么样(qq币消费怎么取消验证)

qq消费币怎么样(qq币消费怎么取消验证)

五一假期对于许多玩家来说,无疑是个舒舒服服打游戏的好时机。然而对于腾讯旗下游戏的玩家,特别是想趁着五一活动氪金的朋友而言...

2022-11-01 03:30:47查看全文 >>

qq币的经济价值(qq币总量查询)

qq币的经济价值(qq币总量查询)

在小编所发布的文章评论区曾有网友戏言“如果关闭QQ,那么中国将有一半警察可以休个长假,显著降低犯罪率”。——“今天是马化...

2022-11-01 03:44:42查看全文 >>

qq币怎么开业务(qq币申请)

qq币怎么开业务(qq币申请)

日前,腾讯QQ超级会员SVIP等级又双叒叕一次升级了。据了解,SVIP10是目前QQ超级会员的最高等级,但并非所有用户都...

2022-11-01 03:48:19查看全文 >>

qq币现在如何(qq币在哪里看到)

qq币现在如何(qq币在哪里看到)

IT之家 5 月 2 日消息,据网友反馈,腾讯旗下的大部分业务充值全面取消 97 折优惠,包括微信 、QQ 的 Q 币充...

2022-11-01 03:13:41查看全文 >>

文档排行