首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动完成字段,服务器端可伸缩性设计

自动完成字段,服务器端可伸缩性设计
EN

Stack Overflow用户
提问于 2013-01-10 20:03:46
回答 2查看 82关注 0票数 0

当处理表单字段的自动完成功能时,用户键入的每个字符都会触发api调用以获得建议,您如何代理此调用以进行缩放?

  • 直接从java脚本是不可能的,因为跨域限制,不安全,因为这将暴露api密钥。
  • 将其转移到控制器或模型中,将导致大量的查询到服务器端,当活动用户群达到一定的限制时,这将给服务器端带来沉重的负担。

对于这一特点,行业的标准做法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-11 03:40:41

不清楚您所说的“代理此调用”是什么意思,但总的来说:

  1. 您可以使用JSONP进行跨域查询。但你要在客户端支付性能罚款。
  2. 查询同一个域是可以的。没有单一的答案,因为主题是非常通用的。你的规模取决于你的基础设施。如果应用程序设计为水平扩展,则只需向服务器池中添加更多服务器即可进行缩放。使用Amazon或Azure云服务非常简单。优化数据库查询和索引以使数据库快速响应也很重要。如果用户基数很大,您甚至可以拥有多个相同数据库的副本,以帮助提高性能。

不要过早地担心优化,因为您可能永远不会达到这一点。如果您得到的是好的问题,在这种情况下,解决方案是微不足道的。

票数 0
EN

Stack Overflow用户

发布于 2013-01-11 05:28:49

您需要在客户端和服务器上非常聪明。在任何地方都要使用大量的缓存来避免额外的工作。使用CORS或JSONP。坦白说,这是一项很大的工作。不是说Lucene/SOLR是不太自动完成能力的发动机。顺便说一句:看看www.rockitsearch.com。它具有所有基本功能的实现自动组合。您所需要做的就是:在那里注册并导出您的数据。然后在你的网站上集成你的小部件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14266309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档