星门是什么

星门(Stargate)是基于.NET Core构建的用于帮助Aiursoft微服务体系实现实时通讯的消息队列。

星门适用于什么应用

星门作为消息队列,用于处理将所有复杂的事件依次推送的问题。在星门中,事件的发出人称为生产者,事件的接受人称为消费者

很多应用都可以使用星门处理消息推送,这包含:

  • 即时消息App
  • 需要实时响应的对战游戏
  • 高度即时性的Web应用,例如:论坛
  • 高并发但单一任务处理缓慢的Web应用
  • 跨设备交互的应用

星门在工作时,需要首先创建消息频道,消费者再连接到频道中。如果需要把消息推送给消费者,生产者可以使用Restful API。

星门支持的协议

目前星门仅支持WebSocket协议。

星门的消息处理

消费者仅能收到连接成功后生产者发出的消息。

星门不负责存储消息。消息一旦被所有消费者处理后会立即被删除。

星门的消息暂存期为1分钟。也就是说在生产者提交给星门消息后,消费者必须在1分钟内处理该消息。否则该消息会丢失。

星门的生命周期

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

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

频道本身的生命是24小时。在频道中,服务器只会把最原始的事件内容推送过来,不会进行任何编码和大小写转换,也不会使用Json或XML。

它不负责检查消费者是真正阅读了消息,也不负责接收消费者对其发出的任何消息。

继续阅读

如果你需要在你的项目中使用星门,请遵循下列步骤