[关闭]
@saber000 2014-10-24T17:55:03.000000Z 字数 1534 阅读 1054

Notification Server文档

Notification Server提供了组件间的通讯接口,现暂仅提供基础的异步发布订阅模式。
后期会加上多种通讯方式、权限控制和管理、消息审计等功能。当前版本基于RabbitMQ,但仅提供HTTP接口,不排除未来会支持AMQP接口。

发布订阅模式

HTTP发布信息

发布接口

HTTP接口:/publish/<notify scope>

消息格式

消息格式使用JSON,发布方基本结构如下:

  1. {
  2. "version": "ns 1.0",
  3. "attrs": {
  4. "time": "YYYY-MM-DDTHH:MM:SS.mmmmmm",
  5. "msg_id": "550e8400-e29b-41d4-a716-446655440000",
  6. "sender_id": "6063d21e-5b46-11e4-b445-000c29f3465d"
  7. },
  8. "data": { ... }
  9. }

字段说明(粗体为必填项,斜体为可选项):

注意:不建议在attrs中添加自定义的信息。

服务器回馈信息也使用JSON,基本结构如下:

  1. {
  2. "version": "ns 1.0",
  3. "message": "+ok message published",
  4. "attrs": {
  5. "time": "YYYY-MM-DDTHH:MM:SS.mmmmmm",
  6. "msg_id": "550e8400-e29b-41d4-a716-446655440000",
  7. "sender_id": "6063d21e-5b46-11e4-b445-000c29f3465d"
  8. }
  9. }

字段说明:

发布示例

客户端发布:

  1. POST /publish/test_project/mysql HTTP/1.1
  2. {
  3. "version": "ns 1.0",
  4. "attrs": {
  5. "time": "2014-10-23T20:57:43.524624",
  6. "sender_id": "4a30b386-d559-4a8f-9c03-cdb6e7476d03"
  7. },
  8. "data": {
  9. "event": "created_database",
  10. "database": "testdb"
  11. }
  12. }

服务器反馈:

  1. {
  2. "version": "ns 1.0",
  3. "message": "+ok message published",
  4. "attrs": {
  5. "time": "2014-10-23T20:57:43.524624",
  6. "msg_id": "9e4d1dda-475b-4c5a-927f-92b8a319c994",
  7. "sender_id": "4a30b386-d559-4a8f-9c03-cdb6e7476d03"
  8. }
  9. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注