欧亿交易所订单频道为何收到重复消息?欧易OKX按tradeId与ordId去重

“欧亿交易所订单频道重复推送”不表示一定发生了第二次成交或第二次撤单。若每条推送都重复入账、释放冻结资金或触发下游订单,会放大风险,因此消费端必须具备幂等机制。

欧亿交易所订单频道为何收到重复消息?欧易OKX按tradeId与ordId去重

有tradeId时怎样处理

tradeId有值代表成交。官方建议同一交易产品下,同一tradeId只处理首次收到的消息,后续相同tradeId推送应丢弃。

幂等键至少包含instId与tradeId,不能只按uTime判断,因为重复消息的uTime可能不同。

没有tradeId的filled怎样判重

对币币或杠杆市价单,tradeId为空且state=filled时,官方将其视为完全成交终态;相同ordId的filled消息只处理第一条。

这条规则有明确场景边界,不应未经核对扩展到所有产品或所有订单类型。

撤单与改单用什么标识

state为canceled或mmp_canceled时,对相同ordId只处理首次终态消息。reqId有值代表用户改单响应,官方建议每次改单使用唯一reqId;相同reqId的消息同样只处理第一条。

不同事件类型应使用各自幂等表,避免标识碰撞。

重复消息还需要保存吗

业务动作只执行一次,但可在审计日志中记录首次处理时间、重复到达时间、ordId、tradeId或reqId以及脱敏原始摘要,用于排查网络和消费端行为。

幂等记录应具备持久化和合理保留期,服务重启后不能立即忘记已处理终态。

总结

OKX orders频道在极端情况下可能重复推送且uTime不同。成交按instId与tradeId去重,特定filled及撤单终态按ordId处理,改单响应按唯一reqId处理,业务副作用只执行一次。

人民币美元兑换

人民币兑美元

CNY USD
1 CNY0.15 USD
5 CNY0.74 USD
10 CNY1.48 USD
25 CNY3.71 USD
50 CNY7.42 USD
100 CNY14.84 USD
500 CNY74.22 USD
1000 CNY148.43 USD
5000 CNY742.16 USD
10000 CNY1484.32 USD
50000 CNY7421.60 USD

美元兑人民币

美元 人民币
1 USD6.74 CNY
5 USD33.69 CNY
10 USD67.37 CNY
25 USD168.43 CNY
50 USD336.85 CNY
100 USD673.71 CNY
500 USD3368.55 CNY
1000 USD6737.09 CNY
5000 USD33685.46 CNY
10000 USD67370.92 CNY
50000 USD336854.59 CNY
人民币汇率

人民币

1 CNY

阿富汗尼阿富汗尼9.644 AFN
荷兰盾荷兰盾0.266 ANG
AOAAOA141.411 AOA
阿根廷比索阿根廷比索224.538 ARS
澳元澳元0.207 AUD

Copyright © 2024 All Rights Reserved. Mail: 819640@qq.com

本站汇率等数据仅供参考,最终以中国银行网上银行或中国银行各营业网点柜台实际交易汇率为准。