Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js API网关后面的Socket.io_Node.js_Sockets_Architecture_Api Design_Api Gateway - Fatal编程技术网

Node.js API网关后面的Socket.io

Node.js API网关后面的Socket.io,node.js,sockets,architecture,api-design,api-gateway,Node.js,Sockets,Architecture,Api Design,Api Gateway,因此,在我目前使用的体系结构中,我们有一个api网关,它获取所有请求并将它们发布到我们的Eventsystem/或直接发布到我们的基本服务(auth等)。现在我们想添加一个基于socket的微服务,它使用我们的一些主题并处理它们以供客户端使用 但问题是,有没有合适的方法通过网关转发socket.io请求? 网关是在Node和microservice中编写的(但是如果有一种语言可能更适合这个用例,那么其他建议也是受欢迎的) 当前的方法是只使用代理: const options = { ta

因此,在我目前使用的体系结构中,我们有一个api网关,它获取所有请求并将它们发布到我们的Eventsystem/或直接发布到我们的基本服务(auth等)。现在我们想添加一个基于socket的微服务,它使用我们的一些主题并处理它们以供客户端使用

但问题是,有没有合适的方法通过网关转发socket.io请求?

网关是在Node和microservice中编写的(但是如果有一种语言可能更适合这个用例,那么其他建议也是受欢迎的)

当前的方法是只使用代理:

const options = {
    target: 'http://127.0.0.1:1234/test',
    changeOrigin: true,
    secure: false,
    ws: true
};

const socketProxy = proxy(options);
app.use('/reports', socketProxy );
但是,通过这种方式,我们所有的日志记录、健康检查、请求监控都必须由新服务重新实现

有没有更好的方法来处理这个设计