数据推送方案要点因素

阅读: 评论:0

数据推送方案要点因素

数据推送方案要点因素

大批量数据推送屡见不鲜,今天讲讲数据推送中需要考量和注意的因素

拉齐目标

  • 明确目的
  • 商定时间
  • 拉齐人员

评估量级

  • 数据量
  • 万条数据均耗时
  • 可用实例个数
  • RPC调用的QPS限制
  • 预估时长

数据源

  • 数据源的选择(slave、hive)
  • 读取逻辑(注意慢查)
  • 加解密
  • 数据组装

监控

  • DB压力
  • 连接情况
  • RPC调用的QPS、成功率
  • 异步推送消息监控
  • 任务进度显示
  • 线程池的监控(core/max/active/pool)
  • 读写速率控制(可参考使用ratelimiter)
  • 紧急暂停控制
  • 失败重试逻辑?(注意区分可重试与不可重试的,防止死循环)
// 发生异常时private void recordErrorNum(Long num) {totalError.incrementAndGet();errorNumList.add(num);if (errorNumList.size() > 1000) {synchronized (errorNumList) {if (errorNumList.size() > 1000) {LOGGER.warn("PrepareRetryRecordErrorNum:{}", errorNumList);List<Long> tmpErrorNumList = new CopyOnWriteArrayList<>(errorNumList);veAll(tmpErrorNumList);// 重新投递retry(tmpErrorNumList);}}}}// 手动触发补偿public Object doRetry(boolean resetTotalNum) {synchronized (errorNumList) {List<Long> tmpErrorNumList = new CopyOnWriteArrayList<>(errorNumList);veAll(tmpErrorNumList);if (resetTotalNum) {totalError.set(0);}// 重新投递retry(tmpErrorNumList);int size = tmpErrorNumList.size();return "RetryCount=" + size;}}

执行

  • 小步快跑

1条、5条、10条测试链路连通性,数据的正确性

  • 逐步加量

100 /1000 / 10000 / 5w / 10w /…
推送后 等几分钟,注意监控系统状况,防止对其他服务造成影响

  • 快速调整

发现链路错误、不足,及时调整,快速修正

收尾

  • 推送情况检查
  • 资源回收释放
  • 总结复盘

本文发布于:2024-02-08 19:54:54,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170739346168553.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:要点   因素   方案   数据
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23