Skip to content

Latest commit

 

History

History
231 lines (164 loc) · 3.58 KB

README_ZH.md

File metadata and controls

231 lines (164 loc) · 3.58 KB

DosMq

English

基于golang开发的消息队列中间件,可作为独立项目部署。

版本Dosmq

环境依赖

go-1.13.4 Mongo-latest Redis-latest

部署方式

准备好redismongodb数据库,安装go-1.13.4环境

如果数据库有密码需要在环境变量中设置以下字段:

  • REDIS_PASSWORD
  • MONGO_PASSWORD

部署步骤

  • 安装依赖
$ go mod download
  • 修改配置文件 /config/config.yaml

  • 编译项目

$ go build -o dosmq
  • 运行项目
$ ./dosmq

API 文档

/api/consumer/get

说明:topic_process_typeget时,消费者可调用的接口,用于获取一条信息。

方法:POST

请求头:applications/json

参数:

{	
    "sub_server_name": "subscriber_name",
    "sub_host": "subscriber_name",
    "sub_key": "subscriber_secret",
    "sub_api": "/...",
    "sub_method": "get|post|...|none"
}

返回值:

{
    "Code": "Http.StatusCode",
    "Data": "data | msg"
}

/api/producer/send

说明:消息发送方发送消息的接口

方法:POST

请求头:applications/json

参数:

{	
    "auth_key": "auth_key",
    "owner_server_name": "producer_name",
    "owner_key": "producer_secret_key",
    "owner_host": "producer_host",
    "value": "massage"
}

返回值:

{
    "Code": "Http.StatusCode",
    "Data": "data | msg"
}

/api/topic/sign_up

说明:消息发送方注册主题的接口

方法:POST

请求头:applications/json

参数:

{	
    "auth_key": "auth_key",
    "owner_server_name": "producer_name",
    "owner_key": "producer_secret",
    "owner_host": "producer_host",
    "topic_name": "topic_name",
    "topic_process_type": "push | pull"
}

返回值:

{
    "Code": "Http.StatusCode",
    "Data": "data | msg"
}

/api/topic/del

说明:消息发送方删除主题的接口

方法:POST

请求头:applications/json

参数:

{	
    "auth_key": "auth_key",
    "owner_server_name": "producer_name",
    "owner_key": "producer_secret",
    "owner_host": "producer_host",
    "topic_name": "topic_name",
    "topic_process_type": "push | pull"
}

返回值:

{
    "Code": "Http.StatusCode",
    "Data": "data | msg"
}

/api/topic/subscribe

说明:消息接收方订阅主题的接口

方法:POST

请求头:applications/json

参数:

{	
    "auth_key": "auth_key",
    "owner_server_name": "producer_name",
    "owner_key": "producer_secret",
    "owner_host": "producer_host",
    "sub_server_name": "subscriber_name",
    "sub_host": "subscriber_name",
    "sub_key": "subscriber_secret",
    "sub_api": "/...",
    "sub_method": "get|post|...|none"
}

返回值:

{
    "Code": "Http.StatusCode",
    "Data": "data | msg"
}

/api/topic/cancel_subscribe

说明:消息接收方取消订阅主题的接口

方法:POST

请求头:applications/json

参数:

{	 
    "auth_key": "auth_key",
    "owner_server_name": "producer_name",
    "owner_key": "producer_secret",
    "owner_host": "producer_host",
    "sub_server_name": "subscriber_name",
    "sub_host": "subscriber_name",
    "sub_key": "subscriber_secret",
    "sub_api": "/...",
    "sub_method": "get|post|...|none"
}

返回值:

{
    "Code": "Http.StatusCode",
    "Data": "data | msg"
}