gpt4 book ai didi

database - Erlang:2 个网络服务器上的 2 个数据库?

转载 作者:行者123 更新时间:2023-11-29 13:38:07 25 4
gpt4 key购买 nike

我用php+postgresql创建了一个博客系统。现在我想添加一个网络聊天(同时为数百万用户实时),其中每条消息都保存在数据库中。

我正在考虑在不同的网络服务器上使用 Erlang+Mnesia 来解决这个问题。

消息的表将是这样的:

message_id, user_id, 消息, 日期

user_id 应该与另一个网络服务器的 Postgresql 数据库中的 users 表相关。

我怎样才能在不损失性能的情况下做到这一点?

如果您有任何其他创意解决方案,请告诉我;)。

最佳答案

我不确定为什么要将每条消息都保存在数据库中,但是 mnesia 听起来并不是一个特别好的选择。 Mnesia 更像是一个分布式键值存储,当您需要以简单到中等复杂的方式存储“表格数据”并查询它时,您可以使用它来保持应用程序的状态。

对于大量的文本,我听说lucene应该不错,它有全文搜索功能等,据说效率很高,你可能想研究一下:

Apache Lucene Project page

除此之外,使用 erlang 作为聊天服务器,使用 mnesia 来保存所有其他状态听起来是个好主意,你可以编写一个 javascript 客户端,使用 JSONP(克服跨域问题)和 mochiweb erlang 网站做网络服务器部分。

编写核心聊天系统的其余部分应该相当简单,可以说是有趣的部分:)

关于database - Erlang:2 个网络服务器上的 2 个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2433496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com