我正在考虑在已编写和正在运行的php应用程序中集成聊天功能。
由于我必须选择聊天实现,我会向您展示一些注意事项:
- PHP对Comet应用程序不利。用于管理聊天的php彗星服务器不能很好地扩展,因此它不是我的首选。
- Node.js + Socket I / O,最终可以成为聊天引擎的一个很好的选择。
- AMQP(RabbitMQ?)可能是另一个可能很好的解决方案,而不是与node.js独占,因为它们可以很好地集成。
醇>
主要问题是:如何避免代码和业务逻辑重复?我想指出一些方面:
- 该应用程序以RBAC方式管理用户。用户应该能够根据其角色(以及其他一些业务逻辑)与其他用户聊天。复制那种逻辑很难(也可能是不好的做法)。
- 如果我为IM和应用程序使用两个不同的服务器进程(我认为),我该如何管理http会话?
简而言之:IM将与业务逻辑紧密结合,因此我确实需要避免代码/逻辑重复,但同时我不需要PHP聊天引擎。
提前谢谢。