suriv520
2014-12-03 19:09:34 +08:00
这个想做到靠谱且稳妥,除了把polling模型改为push模型,没有更好的办法。
但据我推测你们的应用场景,可否尝试考虑“当最终用户请求时向后段API发起查询”?虽然效率慢点,但比长年DDOS空跑要好。
但如果你们确实是需要实时的数据的话,并且也没办法让上级API提供回调的话,或者也没有批量接口的话,只能跟踪每一个订单的源和目的,综合分析历史数据,建立模型。并且实时根据每次获取到的信息,推断并建立当前delivering状态的所有包裹的“批次”数据(这里的批次是指在同一个运输工具里的所有包裹)。
这个批次与分发模型建立起来后,你的系统里应该已经有整个邮局的运输网与运输效率数据了,进阶一点的,可以离散分析周期性的数据,甚至连航班、陆运的班次与起讫时间你都可以了解得一清二楚。
这些建立起来后,你问我怎么获取最新数据?随便把预测的同一个批次的货物里挑选5%或者10%进行API查询,如果有新数据超过一定阈值,说明到货了,再一窝蜂地把关联数据全部调用一次API最终确认。
这是bigdata的基本思维,从混沌(每个包裹)中抽象出上层的关联(批次、运输等),再从上层整体的关联,预测离散的行为,甚至是未来的趋势。
这是学院派的方案。脑洞大开供,纯理论讨论,欢迎拍砖。