如何在不降低响应速度的情况下调用微服务?

时间:2016-12-21 11:29:29

标签: php laravel go grpc

我想将新功能与基于Laravel的电子商务解决方案集成。此时主脚本需要大约2.7秒才能运行。整个站点加载超过6秒,我们刚刚开始监控它。目标是使用脚本获得低于2秒,使用所有内容获得4秒。

微服务和功能通过gRPC公开。

有一个基于TLS的客户端 - 服务器身份验证(电子商务实例和我的服务可以证明他们是谁)。这吃了几毫秒。

在测试Go-client和Go-server时,如果有20个连接池,则每个请求的时间小于35ms。 在PHP中,每个请求都需要200ms以上。

是否可以:

  1. 在请求之间缓存服务连接?
  2. 异步调用RPC方法?
  3. 我正在考虑其他解决方案:

    1. 设置一个本地gRPC代理,它只接受PHP脚本发出的localhost GET请求,并使它们成为安全的gRPC调用。
    2. 在PHP应用程序前设置代理以调用微服务。
    3. 使用JavaScript直接从网站调用服务(给用户浏览器带来负担,需要维护JavaScript)。
    4. 有什么建议吗?

1 个答案:

答案 0 :(得分:1)