我有一个API客户端(用Java编写)订阅彭博API的市场数据,它将数据保存到数据库中。但由于某些原因,任何程序都可能会失败。
为了避免单点故障,我考虑让多个API客户端同时运行。但是事件内部没有唯一的标识符,那么如何避免数据库中的重复数据呢?谢谢。
发布于 2020-05-04 20:46:03
对于交易事件,您可以利用一些交易标识符字段。对于报价滴答,您将需要使用多个字段,如引价值,时间戳与更高的时间解决方案,仍然不能保证唯一性。
发布于 2020-05-05 03:19:00
选项1:订阅BAR数据。然后是市场数据的唯一标识符:时间和安全性。缺点:较低的分辨率(最多每分钟与单个刻度相比)
选项2:订阅时尽最大努力,然后执行历史请求,并将订阅时获取的数据替换为历史响应。当发出历史请求时,您知道何时成功处理了响应。您可以决定何时执行历史请求来替换订阅中的数据。可能是每隔几分钟或一天结束。
https://stackoverflow.com/questions/61590241
复制相似问题