我目前正在构建一个聊天服务器(meebo 风格)。
架构是这样的。
- libpurple上的Bitlbee位于主机B上。它是数据中心上的一个微不足道的服务器。
- 用户通过 Host A上的 web 服务器(就像 meebo)与 bitlbee 通信。此 Web 服务器的后端维护聊天会话。它只是将用户命令转换为正确的 bitlbee comamnd 并发送回主机A。
这里最重要的部分是主机A将部署在嵌入式 Linux 中。
我有2 个问题。
- 为了保持聊天会话持久,我正在考虑使用node.js。因为它更容易创建具有持久连接的实时应用程序。但我怀疑它是否在这样的平台上受支持。
- 如果我使用 C 而不是 node.js(我没有使用任何 Web 服务器),我可以通过libirc与主机A上的 irc 服务器通信。但是如何在 C 中实现所有 Web 服务器功能(如会话、url/cookie/post 数据解析等)?
另外,如果您认为我的方法是错误的或者有更好的方法,请告诉我如何改进这个架构?
注意:这不是高容量聊天服务器。