我想为自己编写一系列小应用程序作为微服务。这是为了实用性和自学。我希望这些应用程序能够独立工作,但构建一个单独的前端客户端,其中包含一个可以在所有服务中查找数据的搜索栏。我想用搜索结果实现实时自动完成功能,因为用户输入的内容将搜索多个数据库。
我目前的做法是将每个应用分成两个应用,后端API和前端客户端。拥有所有应用程序用于授权的通用身份验证服务。
我认为这种方法除了速度和性能之外都能正常工作,我不确定。我的个人要求是能够使用自动完成搜索结果实现此搜索栏。这意味着它必须向每个服务发出API请求才能获得这些结果,感觉它可能太慢了。
另外,如果有人想知道,我打算在后端使用node,express和mongodb。可能会使用node,express,vue或者前端的东西。
Q值。有没有人对使用多个API的性能方面有个人经验?
Q值。如果这种方法太慢,是否有更好的方法仍然可以分离应用程序?
答案 0 :(得分:1)
在休息呼叫次数之前/之后,性能将取决于许多其他因素。事先很难说出来。
但根据我以前的经验,如果你需要为自动完成功能提供这样的搜索功能,你很可能需要弹性搜索。
这意味着您不应该为每个自动填充请求向每个服务发送请求,而应该有一个索引要搜索(部分或者可能需要在您的前端显示的所有数据)并首先搜索该索引以找到相应的如有必要,项目会向其他服务询问剩余/完整数据。细节完全取决于您的要求。
当然,如果你这样做,你也应该实现弹性搜索的数据填充/同步机制。