问题标签 [tcpportsharing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 如何在 Azure Service Fabric 中使用 net.tcp 端口共享
我想部署一个利用 net.tcp 端口共享的 WCF 服务。在普通 Windows Server 上运行时,我确保NET.TCP 端口共享服务已启用并正在运行,并且我的应用程序启动时没有任何问题。
切换到 Azure Service Fabric 时,该服务未在节点上运行,我的应用程序无法启动。当我将应用程序部署到节点时,如何确保该节点安装并启用了 WCF.s NET.TCP 端口共享服务?
node.js - Nodejs集群没有正确地接受并发调用
[编辑:我在代码中添加了一些分析日志和进程退出跟踪,并将结果粘贴在帖子末尾]
在使用端口共享时,我无法让 Nodejs 集群正确利用服务器的可用 CPU。该问题在两个不同的服务器(个人计算机和远程 VPS)上观察到,如下所示,并且已被评论者复制(参见 jfriend00 的评论)。
节点版本:v10.13.0;Windows 7 64 位;8核
节点版本:v8.1.3;CentOS 6.9;4核
bench 如下:为每个可用的 CPU 创建一个 worker,侦听端口 8000(使用 Express)并在 2 秒的模拟处理时间后回复(该过程应该完全同步到 benching,没有异步操作)。
cluster_bench.js
现在我用 32 个并发请求来测试这个脚本:
cluster_client.js
我希望我的呼叫由一批 n-CPU处理。
然而,我观察到这种行为:
- 第一批实际上使用了 n 个 CPU
- 后面的批次使用的 CPU 越来越少
- 最后一批只使用一个 CPU,所以最后一个请求一个接一个地得到响应,时间很长
例如,在 8 核计算机上:前 8 个请求一次处理,然后另一个 8 个请求,然后 4 个请求,4 个请求,2 个请求,2 个请求,2 个请求,1 个请求,1 个请求一次。
在 Windows 上,如果我在不重新启动服务器的情况下再次启动客户端脚本,那么只有 2 个现有工作人员将处理 32 个请求。在 CentOS 上,行为与第一次启动相同(首先使用所有 CPU,然后越来越少)。
任何工人都不会产生“退出”事件。我还在子进程事件(https://nodejs.org/api/process.html#process_process_events中描述的所有事件)上放置了带有日志的钩子,并观察到没有为任何子进程发出任何类型的事件。此外,jfriend00 已经检查了客户端使用 WireShark 实际发送的所有请求(见评论),这些请求是正确发送的。
这种行为怎么可能?
这是我从服务器获得的痕迹:
从客户端:
正如所指出的,随着时间的流逝,一次处理的查询越来越少。最后,只有 Process #12356 仍然做了一些事情。跟踪显示没有退出任何进程。
kubernetes-ingress - IstioIngressGateway 和具有自定义 TCP 端口的虚拟服务
IstioIngressGateway 和具有自定义 TCP 端口的虚拟服务。
我已将我的 TCP 服务器作为服务部署在我的 Azure Kubernetes 集群中。
我已经下载了 istio 包。我已经install\kubernetes\helm\istio\values-istio-gateways.yaml
用我的 TCP 端口修改了。然后我在 istio-system 命名空间下部署了 istio。所有服务都已启动并正在运行。
问题#1:在 istio-ingressgateway 服务下,我没有看到我的自定义 TCP 端口。
问题#2:由于我没有看到我的 TCP 端口,我已经使用命令 - ( kubectl edit svc istio-ingressgateway -n istio-system
) 修改了 istio-ingressgateway 服务,并且我已经添加了我的端口。我通过添加源端口/主机和目标端口(我的 TCP 服务端口)创建了虚拟服务。当我尝试使用我的 tcp 端口访问 istiogateway 时,我无法访问。我看到我可以点击默认的 https 端口,如 80 和 443。我尝试了 TCP 客户端和 curl 命令。
请任何人都可以回答我的问题,可能是什么原因,如果您知道此问题的任何解决方案,请告诉我。
asp.net-core - Asp.Net Core – Kestrel – 端口共享 – 替代
目前我们正在从 .Net Framework (4.7) 迁移到 .Net Core / Asp.Net Core。
我们有一些使用 WebAPI 并侦听同一端口(443)的微服务。
我们有一个单页应用程序(由几个模块(逻辑单元)组成),所有模块都使用相同的端口(443)与我们的微服务通信。
使用 Kestrel 时不支持 Asp.Net Core 端口共享,除了使用 Nginx、Appache 等反向代理(“重定向”到不同端口)之外,还有其他选择吗?
我们不能使用 IIS 作为反向代理,因为我们也在使用 gRPC,而 IIS 目前不支持。
如果反向代理解决方案是正确的(我个人认为是,因为MS-doku,你能推荐一个反向代理吗,我们使用的是 Windows 并且需要对 spnego 的支持(Kerberos,NTLM v1,v2),至少代理应该能够将 spnego 转发到我们的 IIS,我们可能会将其用于其他应用程序和单点登录解决方案。
Nginx 看起来不错,但没有内置对 spnego 的支持(仅在付费/商业版本中)。
溴