使用pubnub进行客户端状态和数据库更新

时间:2013-09-02 12:39:57

标签: php architecture pubnub

我目前有一台使用Netty / MySQL构建的服务器,我正在优化。它非常简单,主要做以下几点:

  • 接受持久连接
  • 代表客户端进行数据库查询(取决于客户端消息和授权)
  • 更新客户端状态(现在每个客户端/通道都有本地变量,即“numberOfQueriesMadeForThisClientSession”)
  • 根据数据库,身份验证和其他客户端的知识强制断开连接(即如果clientA已连接且clientB发送特殊命令,如果服务器验证,则clientA断开连接)
  • 对断开连接做出反应(更新数据库等)
  • 检查加密内容

但是,我有点担心扩展会发生的事情类型......例如,处理超时可以优雅地断开,而不是用户实际退出或强行断开连接,竞争条件等等。

对于这个问题,pubnub考虑过这个问题比我自己更多...所以我想知道 - 迁移我的netty / mysql服务器以使用pubnub的基本结构是什么?乍一看,在我看来,pubnub是一个纯粹的消息中继,没有任何数据库或业务逻辑处理......?

选择的语言是PHP,但此时我对基本架构最感兴趣

1 个答案:

答案 0 :(得分:0)

好的 - 既然我已经考虑过了,我认为这对我的特定用例来说是完全可行的,但是Pubnub并不是真正意图使用(或需要)额外的持久性服务器。

通过使用唯一的通道名称和扣留订阅/发布密钥,可以采用不同的方法,它与传统服务器模型的方式不同。

它也可以通过“超级客户”订阅/处理/发布来实现,但在我看来,有点把事情带回原点。

我对自己和他人的建议 - 以完全不同的方式考虑pubnub(和类似的服务)并尽可能避免使用持久性“超级客户端”/服务器:)< / p>