大批量数据推送屡见不鲜,今天讲讲数据推送中需要考量和注意的因素
// 发生异常时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 条评论) |