【发布时间】:2018-05-17 06:30:07
【问题描述】:
我有一些 Zeit micro 服务。此设置是用于多个前端/域/客户端的 RESTful API
我需要在遍布应用程序的配置中区分这些客户端。我可以在我的处理程序中设置一个process.env.CLIENT_ID,例如,我可以在我的配置处理程序中使用它来知道要加载哪个配置。然而,这意味着为每个请求域启动一个新的 http/micro 进程(或我使用的任何方法 - 诸如客户端 ID 之类的信息可能会出现在标头中),以便在整个请求中维护 process.env.CLIENT_ID 而不会被覆盖来自另一个客户端的另一个同时请求。
所以我必须让每个微服务检查客户端 ID,确定它是否已经为该客户端启动了一个进程,然后使用该进程启动一个新进程。
这看起来很乱,但不确定如何处理。通过代码调用传递客户端 ID(即 getConfg(client, key) 在我的情况下不实用,我想避免这种情况。
选项:
- 到处传递客户 ID
- 为每个主机启动新进程
- ?
有没有更好的方法,还是我的假设有误?
如果每个客户的流程方法是更好的方法,我想知道是否有现有的解决方案来管理这个?我查看了http proxy、micro cluster 等,但似乎没有一个可以解决这个问题。
【问题讨论】:
标签: node.js http process microservices