我目前正在设计一个移动应用程序,它可以根据用户位置向时间线发送和阅读消息。实际开发版本是使用ActiveMQ发送和消费消息,但还没有完成,所以我更愿意在继续开发之前定义架构应该如何以避免将来出现问题。我不确定这是正确的方法,但这是我的想法:
- 每个用户都是向其队列发送消息的生产者。队列名称可以是用户的唯一 ID。
- 如果距离足够近,用户可以订阅其他用户队列。这涉及到一组用户队列的主题。该队列应该是动态的,通过检索固定半径内的用户生成,该半径是圆的中心,即消费者的位置。每个用户都有自己的主题或队列(与 Twitter 的时间线非常相似)。这意味着每个用户队列将有多个消费者。
在客户端,我一直在使用 Objective-C stomp 客户端作为与队列的连接协议。
我的问题是,这是解决问题的好方法吗?我不确定使用 ActiveMQ 和Topics对附近用户的用户订阅是一种可行的架构。你对这个时间线订阅问题有什么建议吗?另一方面,我很清楚每个用户都需要成为自己队列的生产者,但也许我也错了。
编辑
任何包含有关该主题的更多信息的参考、链接、书籍等都将受到高度赞赏。