我打算建立一个像facebook这样支持聊天功能的社交网站。我想通过Ejabberd服务器实现聊天功能。其余功能在apache服务器中实现。
我不确定是否需要将Ejabberd服务器和端口网站从apache服务器扩展到Ejabberd服务器,或者在聊天请求时找到将apache服务器连接到ejabberd服务器的方法。
如果我将apache服务器连接到ejabberd服务器,那么我应该使用默认的mnesia数据库或mysql。
答案 0 :(得分:3)
Apache不需要了解ejabberd的数据库 - 为什么要这样做?
相反,您通常会对网站进行编码,然后将ejabberd挂钩到它以使用BOSH提供聊天功能(例如,通过Strophe.js或其他内容。“完整的”网络聊天客户也存在 - there are hordes of them(加上只搜索网络)。
将成为用户身份验证/注册的问题,但您可以拥有临时用户(如果您不需要公共聊天(会议室)或使ejabberd使用网站引擎使用的相同MySQL数据库 - ejabberd can do that。另一个解决方案是在ejabberd中启用external authentication - 它使用一个程序(由您编写)来验证其用户;这样的程序随后可以自由查询网站引擎使用的相同数据库解决了在数据库中强加特定模式的问题。另一个好处是在需要时更容易更改数据库后端。