跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 要接收多个 tcp 长连接不断发送的数据并存储,哪些数据库或数据存储方案比较合适?
未分類
24 11 月 2020

要接收多个 tcp 长连接不断发送的数据并存储,哪些数据库或数据存储方案比较合适?

要接收多个 tcp 长连接不断发送的数据并存储,哪些数据库或数据存储方案比较合适?

資深大佬 : tctc4869 1

在服务器建立服务端,与多个 tcp 连接保持长连接,服务端会根据客户端发送的 token 验证确定是否保持长连接建立“session”缓存,

在某个状态开启时(我称为存储状态),要把接收多个不确定数量的 tcp 客户端(不是 http,也不是 mqtt,就是纯 tcp 连接)的数据存储到服务端里,如果可以的话,一定要根据客户端的 token+日期 分别进行保存。

那么比较合适的存储方案或数据库是什么?我想到的是为每个长连接,在存储状态开启时,根据 token 与存储状态开启时间作为文件名生成文本文件,建立文件写入流,每次接收 tcp 数据都写入文件,当 tcp 连接关闭时,就关闭文件写入流。

不过除了这种方案,还有其他合适的吗?比如数据库?如果 sql 数据库的话,它适合这种“在长连接环境下,不断接收长连接发送的数据并保存“的环境么?如果可以的话,java 的 pgsql 方案一般是怎么弄的?

大佬有話說 (14)

  • 資深大佬 : beginor

    建议考虑时序数据库,如果是 pg 的话, 可以用 timescaledb 插件

  • 資深大佬 : crclz

    建议分块来存,这样就有思路了吧?例如,TCP 源源不断地发送数据过来,然后你这边每接收 1M 数据,就往数据库插入( token: string, chunkId: int, data: byte[]),其中 chunkId 代表块的序号

  • 主 資深大佬 : tctc4869

    @beginor 我去网站看了一下,有个“免费试用”按钮?收费的?

  • 資深大佬 : caotian

    国产开源的 tdengine 试试

  • 資深大佬 : dzdh

    @tctc4869 有收费服务 不使用 cluster 的话,使用开源版本即可。有企业版。

  • 資深大佬 : ClarkAbe

    [bbolt] (没有手抖就是两个 b,一个 b 的已经归档了)kv 数据库,支持时序,直接怼进去就行了,支持树状结构….可以用日期做桶名

  • 資深大佬 : opengps

    其实可以说任何数据库都可以用,我经历过 sqlserver 下的 20 万 tcp 链接,单链接 10 秒间隔直接入库。
    以前那时候还没有各种中间件的概念,用的特别简单的做法线上实践过

  • 主 資深大佬 : tctc4869

    @opengps 是吗,每个 tcp 发送的数据,直接一个 insert 进去?

  • 資深大佬 : opengps

    @tctc4869 数据库有自己的连接池,并不是应用层的一个 tcp 占用一个数据库链接的

  • 資深大佬 : buf1024

    数据库没有你想象中那么弱,任意一个主流数据库都能满足你的需求。

  • 資深大佬 : Macv1994

    时序数据库吧 我记得好像有个国产开源的 不记得叫啥了

  • 資深大佬 : xylophone21

    这不是典型的流式计算的前一半吗?(不确定后一半是不是你没说)可以看看 Apache Flink 等是怎么玩的
    1. 数据不大怎么搞都没事,数据大一般是用一个消息队列异步处理
    2. 并不一定要把原始数据入库,存 S3,HDFS 等都可以
    3. 不一定需要专门的 TCP 长连接(当然可能你之前就是这样),HTTP 也是 keep-alive 的,还方便

  • 資深大佬 : misaka19000

    看起来是和时序

  • 資深大佬 : CodeCore

    需要计算数据量和数据发送频率。
    我们也是 TCP 发送数据,我就是 PG 存储的。
    每个长链接,每隔 10s 一次数据。数据量不大 5 KB 以内。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具