- 问题
您好,我们的系统基于与新的微服务并行工作的 Monoliths。由于我们的应用程序服务于数百万用户,它应该致力于非常高的性能。我们的主要问题是来自服务器的只读请求,涉及繁重的业务逻辑。这种情况几乎不可能更改响应模型或业务逻辑,因为它会影响性能并且每一毫秒都很重要。
- 建议的解决方案
创建现成的模型,因此只读请求将始终使用 O(1) 执行
我的问题是实现这一目标的最佳方法是什么?
我想到的事情:
- 为可能影响模型成员的每个活动创建事件,订阅所有成员,并确保模型始终是最新的并准备好使用 O(1) 阅读
- 将 db 依赖项与服务代理一起使用,并映射到每个插入或更新查询,这可能会影响模型成员并相应地更新模型,并使其准备好以 O(1) 读取
在这两种情况下,模型都可以保存为缓存在文档数据库中的键值。
我们走对了吗?你有更好的选择吗?
提前致谢
尤瓦尔