问题标签 [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.

0 投票
2 回答
1196 浏览

azure - 通过 Azure 混合连接访问共享文件夹

我正在寻找一种通过 Azure 混合连接访问网络中共享文件夹内容的方法。我知道我可以使用连接管理器访问 SQL SERVER,但是有没有一种方法可以访问专用网络中的文件,而无需在本地系统中创建专用服务?

更新:我将端口 139 和 445 添加到连接管理器端点,并与指定服务器上的每个人共享一个文件夹。然后使用有权访问我的混合连接的应用服务计划创建了一个 azure 函数。我编写了以下代码来测试与共享文件夹的连接:

当我运行该函数时,我得到“访问路径被拒绝”。错误。

0 投票
0 回答
336 浏览

azure - MassTransit vs 官方 azure service bus 客户端 sdk

我正在使用 Azure 服务总线在服务结构 .net 核心服务之间建立通信,并且我正在努力解决有关 MassTransit .net 核心库和官方 Azure 服务总线客户端 SDK 的优缺点列表。

我想听听对这两个图书馆有经验的人的一些建议。很高兴听到更多技术差异:并发、重复数据删除、发件箱模式、错误处理、序列化、易于使用

0 投票
0 回答
108 浏览

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 中继服务的线程,其中描述负载均衡算法如下:

  1. 获取发送者请求的地址的所有已知负载平衡侦听器列表的本地副本(这来自每 500 毫秒更新一次的缓存)。
  2. 如果侦听器列表为空,并且我们没有完全刷新侦听器列表一次,则强制刷新端点的已知负载平衡侦听器列表。
  3. 如果侦听器列表为空,则向发送者返回异常并停止。
  4. 在潜在听众列表中选择一个随机索引。
  5. 尝试与选定的侦听器会合。
  6. 如果该会合成功,则停止。
  7. 如果与所选侦听器的集合尝试在 10 秒内未成功,则从要尝试的侦听器列表中删除所选侦听器。
  8. 如果超过 60 秒,则向发件人返回异常。
  9. 转到第 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 进行配置

0 投票
0 回答
59 浏览

azure-servicebusrelay - 获取 Azure 中继上的侦听器的详细信息

我正在使用 Azure ServiceBus Relay,虽然我能够获取当前侦听器的计数,但我也想知道这些侦听器的详细信息。例如,他们的 id 或地址。我可以用来访问或定位该特定侦听器的属性。截至目前,我正在发送一个 GET 请求:

以 SAS 令牌作为标头和返回的对象是:

0 投票
1 回答
593 浏览

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 有经验,也欢迎您分享您的想法。

0 投票
1 回答
978 浏览

azure - Azure 服务总线中消息单元可以支持的最大吞吐量和消息速率是多少

我正在尝试为 azure service bus 高级层进行成本计算。我找不到以下简单问题的答案

  • 单个消息单元可以支持的最大消息速率
  • 单个消息单元可以支持的最大吞吐量(数据大小/秒)
0 投票
1 回答
72 浏览

azure - 我可以使用 RBAC 访问 Azure 服务总线中继吗?

我知道我可以使用 SAS 令牌身份验证访问 Azure 服务总线中的任何内容,而且似乎通过 RBAC 访问现在已成为事件中心之类的首选身份验证方法。我在 GitHub 上的各种 Web 文章或示例中找不到确凿的证据表明可以通过 RBAC 授予 Azure 中继混合连接访问权限。由于各种原因,恕我直言,RBAC 更可取,但如果不支持,那么我将不得不走 SAS 路线,这可能会给我带来一些无法克服的问题。TIA。

0 投票
0 回答
70 浏览

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”。

0 投票
1 回答
31 浏览

azure - 限制对下游系统的调用

要求是构建一个代理 ESB 层来限制对下游销售人员系统的调用,以控制并发调用阈值。我不知道如何在 Azure 服务中实现这一点,模糊地回忆一下逻辑应用程序可以限制到最大调用实例,不确定这个或任何其他实例是否更适合..提前致谢!

0 投票
1 回答
43 浏览

middleware - 是否可以配置一个响应本地地址的 Azure 中继侦听器?

我是 Azure Relay 使用和配置的新手。

我已经开发了一个使用 Relay 机制响应的 API ...现在我需要在 Program(甚至在启动时)中保留默认配置的服务总线侦听器,如下所示:

现在我需要添加其他本地地址,以便 API 可以通过来自其发布的本地环境(如前端应用程序)的请求进行响应。

我在文档中进行了搜索,但不幸的是,没有证据表明如何获得这种行为,也没有关于如何像中间件一样使用 Relay 的示例。

你有什么想法或例子来实现这一点吗?