问题标签 [azure-servicebusrelay]
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 混合连接访问共享文件夹
我正在寻找一种通过 Azure 混合连接访问网络中共享文件夹内容的方法。我知道我可以使用连接管理器访问 SQL SERVER,但是有没有一种方法可以访问专用网络中的文件,而无需在本地系统中创建专用服务?
更新:我将端口 139 和 445 添加到连接管理器端点,并与指定服务器上的每个人共享一个文件夹。然后使用有权访问我的混合连接的应用服务计划创建了一个 azure 函数。我编写了以下代码来测试与共享文件夹的连接:
当我运行该函数时,我得到“访问路径被拒绝”。错误。
azure - MassTransit vs 官方 azure service bus 客户端 sdk
我正在使用 Azure 服务总线在服务结构 .net 核心服务之间建立通信,并且我正在努力解决有关 MassTransit .net 核心库和官方 Azure 服务总线客户端 SDK 的优缺点列表。
我想听听对这两个图书馆有经验的人的一些建议。很高兴听到更多技术差异:并发、重复数据删除、发件箱模式、错误处理、序列化、易于使用
c# - 如何为 WCF http 中继配置负载均衡策略
我们正在构建一个允许从云端调用本地 API 的平台,为此我们使用 WCF 中继,这实际上是适合我们的服务,因为我们需要动态创建中继(我们有一个载入 API它负责验证客户许可,并在许可有效的情况下在 Azure 中创建中继,以使云 API 和本地 API 之间的通信成为可能)。
目前,我们的 QA 团队正在进行负载测试,以了解有多少流量支持该平台,在测试期间,我们的 QA 团队在运行来自 JMeter 的 50 个并发请求的测试时检测到了一个奇怪的行为。
基本上,在这种情况下(50 个并发请求),一些请求由于 502 Bad Gateway 响应而失败,这些响应来自中继,因为内容类型是 XML。
502 Bad Gateway 响应告诉侦听器在允许的时间间隔内没有接受连接,但奇怪的是,一旦我们收到 502 Bad Gateway 响应,就没有更多请求到达侦听器(本地 API),使通信再次起作用的唯一方法是关闭侦听器并重新启动它。
据我所知,WCF 中继支持负载均衡,使用随机策略选择负责处理请求的侦听器,我在 Github repo 中找到了一个属于 WCF 中继服务的线程,其中描述负载均衡算法如下:
- 获取发送者请求的地址的所有已知负载平衡侦听器列表的本地副本(这来自每 500 毫秒更新一次的缓存)。
- 如果侦听器列表为空,并且我们没有完全刷新侦听器列表一次,则强制刷新端点的已知负载平衡侦听器列表。
- 如果侦听器列表为空,则向发送者返回异常并停止。
- 在潜在听众列表中选择一个随机索引。
- 尝试与选定的侦听器会合。
- 如果该会合成功,则停止。
- 如果与所选侦听器的集合尝试在 10 秒内未成功,则从要尝试的侦听器列表中删除所选侦听器。
- 如果超过 60 秒,则向发件人返回异常。
- 转到第 2 步。
如果算法以上述方式工作,那么默认行为对 DoS 攻击非常敏感,因为一旦集合尝试失败,侦听器将从侦听器列表中删除以尝试,这是一个非常糟糕的主意,因为只有使通信再次正常工作的方法是重新连接侦听器,在我们的例子中,这意味着用户手动操作,因为我们将 WCF 服务托管在 Windows 服务中(如果集合尝试失败,用户应该重新启动 Windows 服务)。
有趣的是,我们正在将“ConnectionStatusBehaviour”应用于端点以记录任何连接问题,并且我们在日志中看不到任何奇怪的东西,显然,服务保持连接/在线,并且在天蓝色监视器中,侦听器保持连接为出色地。
当集合点尝试不成功时,有一些方法可以配置不同的行为?。
我们当前的WCF配置如下:
实际绑定配置(WebHttpRelayBinding)
- 安全模式 = 传输
- RelayClientAuthenticationType = RelayAccessToken
- IsDynamic = 假
- UseDefaultProxy = false
- OpenTimeout = 10 秒
- 关闭超时 = 10 秒
- 发送超时 = 10 秒
- ReceiveTimeout = TimeSpan.MaxValue
实际服务节流行为
- MaxConcurrentCalls = 160
- MaxConcurrentInstances = 1000
- 最大并发会话数 = 1160
实际 Wcf 服务行为
- InstanceContextMode = PerCall
- 并发模式 = 单
客户端
WCF 中继是使用 HttpClient 从 AspNetCore 2.2 应用程序调用的,因为中继地址是在运行时发现的(在这种情况下我们不能使用 WCF 代理)。
AspNetCore 应用程序托管在 Azure 中。
听众
部署在 Azure 中的虚拟机上 系统连接模式使用值 ConnectivityMode.Https 进行配置
azure-servicebusrelay - 获取 Azure 中继上的侦听器的详细信息
我正在使用 Azure ServiceBus Relay,虽然我能够获取当前侦听器的计数,但我也想知道这些侦听器的详细信息。例如,他们的 id 或地址。我可以用来访问或定位该特定侦听器的属性。截至目前,我正在发送一个 GET 请求:
以 SAS 令牌作为标头和返回的对象是:
http - 如何实现 HTTP 中继/隧道来访问 Web 应用程序?
我们在客户的计算机(在 NAT 后面)上运行 Web 应用程序(由 IIS 托管的 ASP.Net Core)。
连接到 Internet 的手机或任何其他设备应该可以访问 Web 应用程序。
限制:
- 没有公共IP地址。
- 我们不想为客户配置动态 DNS,因为我们不提供用于互联网访问的硬件和软件。
我们想要像 http 中继服务器这样的东西来将客户端请求转发到相应的 Web 应用程序,反之亦然。
例如
- www.example.org/c1 转到客户 1 的 PC 上的 Web 应用程序
- www.example.org/c2 转到客户 2 的 PC 上的 Web 应用程序
甚至更好
- c1.example.org/ 转到客户 1 的 PC 上的 Web 应用程序
- c2.example.org/ 转到客户 2 的 PC 上的 Web 应用程序
到目前为止我评估的内容:
Microsoft Azure 混合连接:
- 我仍在努力在 Web 应用程序上执行登录 - 尽管其他 cookie 似乎工作正常,但浏览器没有获取身份验证 cookie。
- 价格标签相当高,我们很难向农民客户收费,并且总是敦促为任何事情支付尽可能少的钱。
RabbitMQ 与 ThinkTecture RelayServer ( https://github.com/thinktecture/relayserver ):
- 我还不能让 RelayServer 插件工作。
- 这是我得到的错误跟踪:
- RabbitMQ 已启动并正在运行,我正在尝试成功实现几个教程。
问题:
对于免费或不太昂贵的良好且易于设置的替代方案,建议将不胜感激。
如果有人对 ThinkTekture RelayServer 有经验,也欢迎您分享您的想法。
azure - Azure 服务总线中消息单元可以支持的最大吞吐量和消息速率是多少
我正在尝试为 azure service bus 高级层进行成本计算。我找不到以下简单问题的答案
- 单个消息单元可以支持的最大消息速率
- 单个消息单元可以支持的最大吞吐量(数据大小/秒)
azure - 我可以使用 RBAC 访问 Azure 服务总线中继吗?
我知道我可以使用 SAS 令牌身份验证访问 Azure 服务总线中的任何内容,而且似乎通过 RBAC 访问现在已成为事件中心之类的首选身份验证方法。我在 GitHub 上的各种 Web 文章或示例中找不到确凿的证据表明可以通过 RBAC 授予 Azure 中继混合连接访问权限。由于各种原因,恕我直言,RBAC 更可取,但如果不支持,那么我将不得不走 SAS 路线,这可能会给我带来一些无法克服的问题。TIA。
c# - 将 Azure 应用服务与本地托管的 IIS WCF 服务通信
我正在努力进行从 Azure App 服务 ( WebApp ) 到本地托管在 IIS ( OnPrem ) 中的 WCF 的通信。
以前,当这两个应用程序都部署在本地的 IIS(ManagementApp、AXYOneServer)上时,它们能够毫无问题地进行通信。
以下 url 主要用于与 WCF 服务通信,该服务可在 IIS 上毫无问题地浏览。
http://1xxxsstt1045.forest7.dom/AXYOneServer/AXYFrontendService.svc/FES3
当两个应用程序都在本地托管( IIS )时,上面的 url 完全可以正常工作。但是,如果托管在 azure 的应用服务尝试访问上面托管在 IIS 的 url,我可以看到以下异常。
可能是什么原因?我应该怎么做才能使他们的沟通成功。此外,还应该可以从 azure app-service 调试到本地部署的 IIS WCF 服务。
内部异常:无法解析远程名称“1xxxsstt1045.forest7.dom”。
azure - 限制对下游系统的调用
要求是构建一个代理 ESB 层来限制对下游销售人员系统的调用,以控制并发调用阈值。我不知道如何在 Azure 服务中实现这一点,模糊地回忆一下逻辑应用程序可以限制到最大调用实例,不确定这个或任何其他实例是否更适合..提前致谢!
middleware - 是否可以配置一个响应本地地址的 Azure 中继侦听器?
我是 Azure Relay 使用和配置的新手。
我已经开发了一个使用 Relay 机制响应的 API ...现在我需要在 Program(甚至在启动时)中保留默认配置的服务总线侦听器,如下所示:
现在我需要添加其他本地地址,以便 API 可以通过来自其发布的本地环境(如前端应用程序)的请求进行响应。
我在文档中进行了搜索,但不幸的是,没有证据表明如何获得这种行为,也没有关于如何像中间件一样使用 Relay 的示例。
你有什么想法或例子来实现这一点吗?