【发布时间】:2021-04-23 11:16:59
【问题描述】:
我有一个使用本地应用程序/内存缓存的实时数据密集型应用程序
40,000 辆汽车正在向 1 个服务器发送数据(每 5 秒),我必须计算出之前位置和当前位置之间的行驶距离。
为此,我缓存了每辆车之前的纬度、经度,然后当我看到一些新数据时,我获取新的纬度、经度并计算出两点之间的距离(即 5 英尺),然后添加这个到车辆上的累积里程表(即60,000英里)
我需要开始负载平衡来处理规模, 当它到达 2 个不同的服务器时,使用本地缓存显然会过时。 但是,使用分布式缓存似乎会大大减慢处理速度,因为网络会跳转到共享缓存,尤其是上面提到的数量和频率。
一种解决方案可能是使用粘性会话,因此汽车 A 始终会前往服务器 A,并定期更新内存缓存以防服务器出现故障。
但是我确信这个问题在过去已经解决了, 在这种情况下是否可以使用行业缓存模式?
【问题讨论】:
标签: caching microservices load-balancing distributed-caching