创建消息传递基础结构的最佳方法?

目标是定义我们的IT基础架构,我们实际上是在寻求与WhatsApp相同的结构(但使用最新技术)

为此,我们需要: -消息数据库

  • 流插入到消息传递数据库
  • 来自消息传递数据库的实时套接字(也许通过nodejs)
  • 对象存储,用于保存图片,视频等(Minio或OpenIO)
  • 用户状态系统(在线/离线)
  • 推送通知

为此,我们有两个想法可以实现,但是我们要确保我们使用好的,并获得一些反馈

  • 消息数据库:ElasticSearch
  • 流媒体插入:Kafka
  • Nodejs的
  • Minio或OpenIO
  • 通过websocket连接使用带有NodeJS的微服务来知道何时打开连接(如此在线)
  • Onesignal / Firebase

对于管理用户数据库(不是消息数据库),我们需要有一个公共数据库来管理用户。 为此,我们可以使用像MangoDB这样的NoSQL DB。也许是卡桑德拉。

谢谢

评论