sgalcheung / ECheersMQ

这是一个可以被独立部署运行的小型消息队列。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Echeers Mq - 切尔思消息队列

Build Status

这是一个可以被独立部署运行的小型消息队列。

如何运行

虽然这个项目是C#写的,它仍然具有非常出色的跨平台性。你可以在任何你喜欢的桌面和服务器平台下运行它!

依赖项

使用命令运行

请在下载项目的全部文件后,在项目根目录中运行:

$ chmod +x ./resetdb.sh && ./resetdb.sh
$ npm install ./wwwroot
$ dotnet restore
$ dotnet run
  • 第一个命令将会创建数据库。如果你不修改任何配置,该程序会使用SQLite数据库,并将数据库创建在该目录下的app.db文件中。
  • 即使这样可以启动这个项目并且使用它的全部功能,仍然不要在生产环境中这样部署。因为dotnet run命令仅仅用于调试使用。
  • 第一个命令仅适用于Linux。针对Windows操作系统,请手动完成resetdb.sh中的工作。

在Visual Studio中运行

首先安装 Visual Studio 2017,并为其安装 .NET Core 开发工具包.

  1. 双击 Echeers.Mq.csproj.
  2. 猛击 F5.

如何部署于生产环境

请在项目本身的目录中执行下面命令:

$ npm install
$ dotnet restore
$ dotnet publish

该步骤不负责准备数据库。请提前将用于生产环境的数据库准备好,并调整appsettings.json和Startup.cs文件中的数据库连接配置信息

如果你已经安装了IIS,直接在IIS中新建一个以下面地址为路径的站点:

./bin/Debug/netcoreapp2.0/publish/

如果你没有IIS,请在上面路径下,运行dotnet ./Echeers.Mq.dll

切尔思消息队列是什么

它本身作为应用平台,允许开发人员在该平台上管理自定义的应用信息,然后凭应用信息换取凭据信息。

它本身作为广播平台,允许开发人员在其中为自己的特定应用新建若干个频道。不同应用之间不能访问对方的频道。每个频道都会有连接秘钥。

它本身作为推送工具,客户端可以使用WebSocket协议连接到特定的频道。如果在客户端连接频道后,开发者对频道推送了任何信息,所有该频道的客户端都会收到该信息。

频道本身的生命是24小时。凭据本身的生命是20分钟。客户端错过的消息不负责重传。客户端一旦连接某个频道,则不会丢掉连接后的任何新推送的消息,除非网络中断。

它的应用信息、凭据信息、频道信息都存在它本身的数据库中。它的全部消息都存在它本身的内存中。每个消息一旦被所有客户端接收到则会被立即清除。因此它不负责存储任何消息。

它不负责检查客户端是真正阅读了消息,也不负责接受客户端对其发出的任何消息。它只是把所有消息都忠实的推给每一个客户端。

如何通过API访问它

准备好部署并使用它了?请在这里阅读它的全部API文档

如何为它做贡献

为它做贡献未必一定要贡献代码。哪怕你只是简单的记录了Bug,提交了Issue,甚至在社区里讨论它都对我们很大的帮助。

如果你需要修改它的代码,请先fork它,再创建一个功能分支。这样可以保持我们的主支流整洁。

如果你希望反馈它,请在反馈的同时附带详细的故障说明和错误日志。这将极大的有助于我们诊断该问题。另外,如果任何API返回了-5Code值,都请向我们提出反馈。

About

这是一个可以被独立部署运行的小型消息队列。


Languages

Language:C# 60.9%Language:HTML 36.7%Language:CSS 1.7%Language:PowerShell 0.4%Language:Shell 0.3%Language:JavaScript 0.1%