V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zxCoder
V2EX  ›  问与答

后端跑程序,写入一些日志,然后前端“实时”展示,比较好的方案是啥

  •  
  •   zxCoder · 2021-10-31 20:10:19 +08:00 · 2552 次点击
    这是一个创建于 1124 天前的主题,其中的信息可能已经有所发展或是发生改变。

    后端目前是 python ,写到一个文件里,现在做法是用 fastapi 开个 websocket ,然后不断读取文件,推给前端,感觉效果很差。

    有没有更好的方案,后端写入文件那部分基本改不了了

    15 条回复    2023-04-12 15:17:40 +08:00
    xiadd
        1
    xiadd  
       2021-10-31 20:14:30 +08:00
    那就换成 rest 接口 前端轮询呗
    ysc3839
        2
    ysc3839  
       2021-10-31 20:15:00 +08:00 via Android
    写入文件改不了的话没什么好办法,最多把文件放在内存盘里,不要写进硬盘。
    randyo
        3
    randyo  
       2021-10-31 20:15:55 +08:00 via Android
    EventSource
    xilou31
        4
    xilou31  
       2021-10-31 20:28:39 +08:00
    @xiadd #1 后端推,理论上是要比前端轮训效率高的
    题主性能差是不是因为从头扫描文件。
    momocraft
        5
    momocraft  
       2021-10-31 20:32:18 +08:00
    什么叫"感觉" 什么叫"效果"
    matrix67
        6
    matrix67  
       2021-10-31 20:39:35 +08:00
    vue 有个现成的库的,叫 FEMessage/log-viewer 你可以去搜一下。
    ipwx
        7
    ipwx  
       2021-10-31 20:45:14 +08:00
    fluentd + kafka + websocket
    ETiV
        8
    ETiV  
       2021-10-31 21:00:06 +08:00   ❤️ 1
    http://logio.org/

    不想写代码的话,直接上这个
    LifStge
        9
    LifStge  
       2021-10-31 21:16:45 +08:00
    确实像二楼说的 放内存盘里 还是有 4 楼说的 读文件上优化下(不需要全读 只读新增的 日志一般也都是往后追加的嘛) 结合处理下 应该还好吧
    inframe
        10
    inframe  
       2021-10-31 22:07:01 +08:00
    filebeat 实时监控文件写入,大致就这样的思路
    waiaan
        11
    waiaan  
       2021-11-01 09:14:03 +08:00
    每次在写入日志的时候同步把日志推给前端
    GDC
        12
    GDC  
       2021-11-01 09:25:21 +08:00
    每次只读取最后 N 行推给前端,覆盖显示代替追加
    zxCoder
        13
    zxCoder  
    OP
       2021-11-01 09:32:05 +08:00
    @momocraft 差不多就是隔 2 3 秒就出来一大堆 log ,然后又隔了几秒又出来一大堆,让领导看起来就不是很好
    asanelder
        14
    asanelder  
       2021-11-01 09:46:40 +08:00
    RunPiggy
        15
    RunPiggy  
       2023-04-12 15:17:40 +08:00
    @ETiV 感谢推荐,这个超好用,配置很简单,就两个 json
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3222 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:06 · PVG 21:06 · LAX 05:06 · JFK 08:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.