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

Flink 如何使用在 feeds 流里?

  •  
  •   Hangzhi233 · 2020 年 12 月 16 日 · 485 次点击
    这是一个创建于 1881 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前使用 redis 回收用户数据,分钟级别刷新到 DB,再新调用内容会从 Redis 里去查。
    内容量变大,redis 会有一些问题,所以想利用 Flink 流式计算来承担一部分 feeds 流更新的功能,比如说点赞计数。
    所以想问 Flink 适合这个场景吗? 以及 Flink 怎么在这个场景里用起来,能承担哪一部分的功能?

    场景:
    下游应用 --- redis ----- db
    问题:
    高峰 api 请求失败率高。
    在 feeds 更新的时候,接受数据-redis 处理-返回成功,这个过程是同步的,也没有消息队列。在流量高峰的时候,如果下游收到了 fail,可能是 redis 没收到,也可能只是算比较慢迟到了。看到 Flink 可以异步 I/O,如果数据到了先返回成功,处理可以排队,这样会不会提高请求的成功率。这个流量的大小不稳定,如果有活动会有很大增长,如果扩机器的话平时用不到,会浪费。
    状态数据的管理
    Redis 里收到的数据会每分钟更新一次 DB,但是只更新最近一分钟的内容。redis 是 kv 结构,除了上报内容之外,还维护了一个数组来记录内容到达时间之类的状态。这样需要双写,看 Flink 有针对状态数据的处理,所以想或许这里可以用。
    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1181 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:59 · PVG 01:59 · LAX 09:59 · JFK 12:59
    ♥ Do have faith in what you're doing.