logo资料库

Socket 通讯协议.pdf

第1页 / 共1页
资料共1页,全文预览结束
Socket 通讯协议 通讯协议 1.概念描述 概念描述 Client:前端Creeper中的IP push proxy。 Server:voyage中的Socket Server服务器。 消息:Server push给Client的信息。 2.通讯步骤流程 通讯步骤流程 1. Client通过proxy配置中的host_addr和host_post连接Socket server,等待消息。 2. Client通过定时check_interval发送TRACE消息[0]维护与Socket server的connetion的连 通信。如果Socket server未返回TRACE-OK消息,则Client在retry_interval的间隔中尝试 重新连接,如果尝试次数超过max_attempt_retry,则raise 自定义Exception。 3. Server通过rpc消费Event handler消息和loopcall查询数据库,格式化数据为消息格式, 并send给client。如果和Client断开连接,则raise 自定义的Exception,并且丢弃断开时 的数据。丢弃原因[4] 3.消息格式 消息格式 消息为字符串:JSONOBJ# JSONOBJ={ 'type': 0|1, # 0代表plugin check的返回结果。 1代表event handler返回的告警信息。 'data': 如果type为0则为原/status/ API返回数据。[1]| 如果type为1则为单个service的 status。[2] } '#':消息结束标识 4.参考参考 [0]: TRACE消息为TRACE# [1]: TRACE-OK消息为TRACE-OK# [2]: 《creeper监控API说明》的状态数据章节。 [3]: 此为[1]中如果制定host_id和service_id的返回数据。 [4]: a 由于status的历史信息已经在数据库中保存。 b 来源于event handler的历史信息在前台会导致界面中连续弹窗。 c 从用户的角度考虑,当前的status和event有价值。 1
分享到:
收藏