Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 向数据库写入请求_Database_Postgresql - Fatal编程技术网

Database 向数据库写入请求

Database 向数据库写入请求,database,postgresql,Database,Postgresql,我正在开发聊天应用程序,需要满足每秒处理100k传入消息的要求。 我正在考虑使用postgresql,但不确定是否合适 聊天应用程序功能 -个人聊天或团体聊天 -一旦所有相关用户交付并阅读聊天内容,则删除该内容 -具有消息传递/读取状态,如whatsapp。 -收到的聊天记录将本地存储在用户设备上 流程如下: -对于每个传入的新消息(从套接字io发出),我们需要写入消息表和消息传递表 -假设我在一个50人的小组中,我需要为消息传递表中的每个成员(49行)以及消息表中的已发送消息顶部创建每一行 -

我正在开发聊天应用程序,需要满足每秒处理
100k
传入消息的要求。 我正在考虑使用postgresql,但不确定是否合适

聊天应用程序功能
-个人聊天或团体聊天
-一旦所有相关用户交付并阅读聊天内容,则删除该内容
-具有消息传递/读取状态,如whatsapp。
-收到的聊天记录将本地存储在用户设备上

流程如下:
-对于每个传入的新消息(从套接字io发出),我们需要写入消息表和消息传递表
-假设我在一个50人的小组中,我需要为消息传递表中的每个成员(49行)以及消息表中的已发送消息顶部创建每一行
-用户接收或读取后,我们需要在用户应用程序中将状态更新回消息传递表以及本地数据库
-如果接收并读取了所有用户,则需要删除消息表和消息传递表中的所有相关消息

注意:
-数据必须托管在自己的前提下
-不会订阅任何付费服务


我不确定我问的问题是否正确,但最终的结果是,在聊天应用程序中每秒处理100k条消息时,不能有明显的延迟。

您可能将错误的技术视为基础。看看ActiveMQ、Kafka甚至Redis pub-sub之类的东西。这将允许您更好地处理负载,完成所需的发布和接收类型机制,同时如果确实需要,还允许您将数据通过管道传输到数据库

如果你在谷歌上搜索聊天和上面列出的任何技术,你应该找到更多的例子来引导你的知识。下面是一个显示卡夫卡聊天应用程序的例子

最终,您只能使用数据库来实现这一点,但要将其扩展到每秒10万次,您将花费大量的时间和金钱