@saber000
2014-10-24T09:55:03.000000Z
字数 1534
阅读 1204
Notification Server提供了组件间的通讯接口,现暂仅提供基础的异步发布订阅模式。
后期会加上多种通讯方式、权限控制和管理、消息审计等功能。当前版本基于RabbitMQ,但仅提供HTTP接口,不排除未来会支持AMQP接口。
HTTP接口:/publish/<notify scope>
POST/分割。^[a-zA-Z]\w*$。消息格式使用JSON,发布方基本结构如下:
{"version": "ns 1.0","attrs": {"time": "YYYY-MM-DDTHH:MM:SS.mmmmmm","msg_id": "550e8400-e29b-41d4-a716-446655440000","sender_id": "6063d21e-5b46-11e4-b445-000c29f3465d"},"data": { ... }}
字段说明(粗体为必填项,斜体为可选项):
ns 1.0。注意:不建议在attrs中添加自定义的信息。
服务器回馈信息也使用JSON,基本结构如下:
{"version": "ns 1.0","message": "+ok message published","attrs": {"time": "YYYY-MM-DDTHH:MM:SS.mmmmmm","msg_id": "550e8400-e29b-41d4-a716-446655440000","sender_id": "6063d21e-5b46-11e4-b445-000c29f3465d"}}
字段说明:
ns 1.0。+ok,失败为-err,未知为#unkwn。客户端发布:
POST /publish/test_project/mysql HTTP/1.1{"version": "ns 1.0","attrs": {"time": "2014-10-23T20:57:43.524624","sender_id": "4a30b386-d559-4a8f-9c03-cdb6e7476d03"},"data": {"event": "created_database","database": "testdb"}}
服务器反馈:
{"version": "ns 1.0","message": "+ok message published","attrs": {"time": "2014-10-23T20:57:43.524624","msg_id": "9e4d1dda-475b-4c5a-927f-92b8a319c994","sender_id": "4a30b386-d559-4a8f-9c03-cdb6e7476d03"}}