问题标签 [azure-worker-roles]

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 回答
623 浏览

azure - Azure 辅助角色是不是像一种完成一些繁重工作并具有负载平衡的方法?

您的帮助将使我对 Windows azure 有更好的了解。提前致谢。

我理解工作者角色就像一个方法(工作者角色中的 Run() 方法),它正在做一些耗时的操作。这使我可以拥有此工作角色的多个实例,以在流量激增时加快速度。

1) 我是否可以拥有一个工作角色,而不只是做以下事情: - 创建 PDF 的方法;- 创建图表的方法;- 一种解析 som HTML 的方法;- 一种处理图像的方法

我可以使用 4 个工作角色轻松完成所有这些工作(上述每个功能一个 RUN() 方法),但这非常昂贵。我可以将这 4 件事作为方法放在同一个工作角色上吗?

2) 在工作角色上托管 WCF 服务有什么缺点?

3)通过WCF而不是队列在同一个Azure解决方案中的实例之间进行对话有什么缺点?这慢吗?

0 投票
1 回答
163 浏览

azure - Azure 在地理位置和规格方面的灵活性

我正在阅读有关 Azure 的内容,但有几件事我不明白:

  1. 如果我选择将服务器放在欧洲,为什么以后不能将它移动到另一个数据中心?
  2. 如果我为工作人员/网络角色选择大小,我可以在之后将其升级到更大的吗?
  3. 我想我已经读过我不能将不同大小的工人/网络角色的不同实例放在一起工作?我对吗?在肯定的情况下,为什么?
  4. 什么更便宜?具有良好多线程辅助角色的大型 VM 或多个小型 VM 中的多个单线程辅助角色?

提前致谢。

0 投票
3 回答
928 浏览

azure - 在工作角色中使用实例计数

在工作角色中使用多个实例时不会出现线程同步问题。我怀疑两个实例是否会尝试选择相同的记录并处理相同的记录。如何解决这个问题。

谢谢

0 投票
4 回答
3614 浏览

azure - 在多个实例中控制 azure worker 角色并发

我在 azure 中有一个简单的工作角色,对 SQL azure 数据库进行一些数据处理。工作人员基本上每 2 分钟将来自第 3 方数据源的数据添加到我的数据库中。当我有两个角色实例时,这显然会不必要地加倍。我希望有 2 个实例用于冗余和 99.95 的正常运行时间,但不希望它们同时处理,因为它们只会复制同一个作业。是否有我缺少的标准模式?我知道我可以在数据库中设置标志,但我希望有另一种更简单或更好的方法来管理它。谢谢

0 投票
1 回答
662 浏览

azure-storage - 将实体插入多个 Azure 表存储分区(同一个表)并知道哪些插入失败(如果有)

我设置了一个 Azure Worker Role,用于从一些外部 Web 服务获取信息,将其解析为几种不同的实体类型,并将这些实体存储在 Azure 表存储中。至关重要的是,这些实体中的大多数(如果不是全部)都插入到表中它们自己的分区中。

我正在使用带有对 AddObject(EntityToBeInserted) 调用的 TableServiceContext 扩展类,以便在创建新实体时将它们附加到 tableservicecontext。目前,我随后调用 TableServiceContext.SaveChangesWithRetries(SaveChangesOptions.None) 将这些实体保存到各自分区中的表中。这一切都很好。

我的问题是:当它不能正常工作时会发生什么?我可以通过使它们的行键和分区键不唯一来导致 1+ 个实体不被保存,但是我围绕该行为捕获的错误消息并不表明哪个实体失败,只是存在错误其中之一。

我应该如何将实体从 Worker Role 保存到 Table Storage,其中每个实体都进入自己的分区(假设在其中一个保存调用中插入了 2-30 个实体),这样如果其中一个或多个插入失败,我会至少能够知道它是哪一个?这些操作对时间非常敏感,因此我不能遗憾地依赖长时间运行的重试选项来等待相关存储节点再次可用。

谢谢你,亚历克斯

0 投票
1 回答
1353 浏览

c# - Azure - 基于排队时间的任务

我在 Windows Azure 上运行的应用程序处理来自用户的传入请求(将其放入 Azure 队列)并将它们分配给现实世界的人。

人们有一定的时间来处理请求。如果分配的人都没有处理请求,我需要转到一组新的人。基本上,我想将这些任务排队等待在某个时间处理,然后再次处理它们。如果其中一位用户处理该任务,我需要将其出列,以便工作人员不再处理它。

0 投票
2 回答
1699 浏览

.net - Windows Azure 上的 mySQL 连接超时

我们有一个与多个第 3 方系统集成的 Windows Azure 应用程序(Lokad.CQRS 架构)。其中一种集成发生在 mySQL 上。一切都很顺利,但最近我们有一个 Windows Azure 应用程序无法连接的 mySQL 数据库,导致超时。

这是相关的堆栈跟踪:

重要亮点:

  • 目标数据库可从 Windows Azure 访问(通过 MySQL Workbench 连接时使用端口转发进行验证);
  • 与目标数据库的集成在本地 Azure Dev Fabric 中正常工作;
  • Windows Azure 上的问题发生在展位池连接和非池连接。
  • TCP/IP,普通端口,无 SSL;
  • 此操作的连接超时足够大 - 5 秒,并且它连续失败(但总是在距离 NE DC 不远的非 Azure 机器上成功)

我们有 Oracle、MS SQL、mySQL 和 PostgreSQL 连接,通过 Lokad.CQRS 在 Windows Azure 上以各种设置和配置(Linux/Windows 托管的数据库服务器)工作。但是这个特定的 mySQL 案例完全让我感到困惑。

关于可能导致问题的任何猜测?

0 投票
1 回答
1608 浏览

wcf - 访问 Azure RoleEnvironment 时出现“角色发现数据不可用”

我正在使用 WCF 服务(这是一个 Web 角色)并与辅助角色进行交互。当我尝试在工作角色的不同实例之间进行节流时。它抛出以下异常:

“角色发现数据不可用”

RoleEnvironment.Roles["MyWorkerRole"]

在 WCF Web 服务中无法访问。

0 投票
1 回答
296 浏览

azure - 有没有办法在 Azure Web 角色中托管 Azure Worker 代码?

我有一个带宽相对较低的 Azure Web Role 应用程序,还有几个在 Worker Role 下运行的进程。我的工人角色也大部分时间都在闲置。

有没有办法在我的 Web 角色中进行类似我的 Worker Role 循环的投票?

我能找到的最接近的请求是: http ://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting/suggestions/397209-provide-multiple-roles-per-instance?ref=title

0 投票
1 回答
596 浏览

azure - 使用 Azure 上的 AppFabric ServiceBus 实现可靠的角色间通信,IObserver 模式

我一直在尝试遵循此示例(从站点或此处的链接下载源代码,但我一直遇到似乎嵌入示例中的错误。

我的过程如下(在安装 AppFabric SDK 和其他依赖项):

  1. 下载源
  2. 在 AppFabric 上创建服务命名空间。
  3. 将项目导入具有一个 Worker Role 的新 Windows Azure 项目,确保它全部编译并且默认的 Worker Role Run() 方法启动并运行。
  4. 使用我的 AppFabric 服务命名空间中的 ServiceNameSpace 和 IssuerSecret 配置 InterRoleCommunicationExtension.cs 中的 GetInterRoleCommunicationEndpoint 方法(IssuerName 和 ServicePath 保持默认)。这是我自己的参数的硬接线。
  5. 将演示中“SampleWorkerRole.cs”文件中的初始化逻辑复制/粘贴到我项目的 Worker Role 的 OnStart() 方法中
  6. 注释掉对 Tracemanager.* 的引用,因为演示代码没有实现 Tracemanager 方法,它们对于此测试的工作并不重要。这些参考文献中大约有 7-10 个(只需在整个解决方案中执行 Find -> "Tracemanager")。
  7. 构建成功。
  8. 在本地计算模拟器上运行。

当我运行此测试时,在初始化新的 InterRoleCommunicationExtension(要初始化的角色间通信基础结构的第一部分this.interRoleCommunicator = new InterRoleCommunicationExtension();)期间,出现错误:“值不能为空。参数名称:contractType。”

深入研究一下,我在 ServiceBusHostFactory.cs(示例中的文件之一)中执行以下方法:

public static Type GetServiceContract(Type serviceType) { Guard.ArgumentNotNull(serviceType, "serviceType");



serviceType 参数的 Name 属性是“IInterRoleCommunicationServiceContract”,它是演示的类之一,它扩展了 IObservable。对 serviceType.GetInterfaces() 的调用返回“System.IObservable`1”接口,然后将其传递给FrameworkUtility.GetDeclarativeAttribute(serviceInterface);,其代码如下:

public static IList GetDeclarativeAttributes(Type type) where T : class { Guard.ArgumentNotNull(type, "type");

It is here that the issue arises. After not finding any customAttributes on the "IObservable1" type, it calls type.GetInterfaces(), expecting a return. Even though type is "System.IObservable1" 此方法返回一个空数组,这会导致函数返回 null 并引发带有上述消息的异常。

我对让这个场景正常工作非常感兴趣,因为我认为发布/订阅消息传递范式是我的应用程序的完美解决方案。有没有人能够让这个演示代码(来自 AppFabric CAT 团队本身!)工作,或者可以发现我的错误?感谢您的帮助。