已关闭,此问题为opinion-based。它目前不接受回答。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。
6天前关闭
社区在6天前审查了是否重新打开此问题,并将其关闭:
原始关闭原因未解决
Improve this question
为了减少延迟,我想从前端使用elasticsearch。在前端处理安全、容错和速率限制是一个好的做法吗?
对于一个可以跨多个设备平台(电子,浏览器和移动的)访问的功能集,我想直接从前端使用elasticsearch,以避免网络往返并最大限度地减少延迟。但我担心这是否是一个好的做法。
1条答案
按热度按时间ybzsozfc1#
直接从前端代码访问ElasticNode并不是一个好的做法。这是一个坏主意的主要原因是,您需要在前端代码中拥有进行查询的用户的密码或API密钥,这样任何人都可以看到它,并且您没有办法保护它。基本的安全原则建议您需要保护集群不受公共访问。性能和延迟不是绕过这些建议的好理由。
此外,如果人们从浏览器访问您的应用程序,您不清楚如何在前端代码中实现速率限制。假设您的集群每秒可以处理1000个请求,并且您有2000人从分布在不同位置的浏览器使用您的应用程序。在一个用户的浏览器中运行的前端代码如何知道1999个其他用户同时进行查询?
关于容错,我不确定您希望如何在前端直接实现它。