问题标签 [service-fabric-stateless]

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 投票
3 回答
1082 浏览

azure - 在服务结构应用程序中动态创建服务

这有点描述性,所以请多多包涵。:)

在我尝试构建的应用程序中,产品具有不同的功能。用户可以选择加入功能 A、B、D 但不是 C。我构建这个的方式是,每个不同的功能都是一个服务(无状态,我正在考虑将数据存储在 Azure SQL数据库并从每个服务公开 REST API)。将所有服务捆绑在一起是一个 ApplicationType。对于创建的每个客户租户(将其视为一组用户的共享帐户),我正在考虑使用 TenantManagementService 创建注册的 ApplicationType 的新具体实例并client.ApplicationManager.CreateApplicationAsync()调用FabricClient实例,以便我可以在我的节点上为该租户运行一个专用的应用程序实例。但是,正如我所提到的,租户可以选择仅选择映射到服务子集的特定功能。如果租户仅选择我的应用程序的服务 A,则与功能 B、C、D 对应的其余服务实例不应在节点上空闲运行。

我想为每个服务创建参与者,但我正在创建的服务是无状态的,我希望它们的多个实例在多个节点上主动运行以进行负载平衡,而不是让有状态服务的空闲副本。

与我对应用程序类型所做的类似,即在新租户注册时生成应用程序类型,我可以在租户想要选择加入/退出产品功能时生成/删除服务吗?

这是我尝试过的:我InstanceCount在打包我的应用程序时尝试将服务设置为 0。在我的ApplicationParametersXML 文件中:

但是,在使用此类应用程序类型实例化应用程序时,Service Fabric Explorer 会出现问题。错误是这样的: 零服务实例计数错误

但另一方面,当服务部署在结构上时,它给了我一个选项来专门删除它,所以这个场景应该是有效的。 在此处输入图像描述

欢迎任何建议!

编辑:我的要求类似于 anderso 在此处提到的方法-https://stackoverflow.com/a/35248349/1842699 但是,我特别要解决的问题是上传创建一个应用程序实例或更多实例计数为零的打包服务!

0 投票
1 回答
993 浏览

azure - 在服务结构 Azure 上升级服务不可达状态

我在 Azure 上以某种方式获得服务结构的“升级服务无法访问”状态。由于我的应用程序的这种行为很奇怪 - 有时能够访问,有时无法访问。在虚拟机的事件查看器中也没有发现问题。

我已经重新启动节点(3 个节点)以及重新启动虚拟机。

我还阅读了Microsoft 文档,但找不到任何东西。

任何人都知道为什么会发生这种情况以及这种状态如何变化?

0 投票
0 回答
64 浏览

azure - 从 AzureServiceFabric 无状态服务连接到 AzureBlobStorage

我有一个在 Service Fabric 上运行的无状态服务,它位于公司代理的后面。
我正在尝试连接到 Azure 以将一些图像上传到 blob 存储,但无法正常工作。是否可以设置 Service Fabric 代理或者是否有其他解决方案?

当我尝试上传图片时:

抛出异常:

0 投票
1 回答
201 浏览

azure-service-fabric - 在无状态服务的所有活动实例上调用相同的方法

在 SFC 中无状态服务的所有活动实例上调用相同方法的最佳方法是什么?我的意思是在所有活动实例上执行类似于下面的操作:

0 投票
1 回答
1347 浏览

azure - “反序列化程序不知道映射到此名称的任何类型...”上的 Service Fabric 错误

我是 Azure Service Fabric 的新手,仍处于学习模式。我正在学习一个示例课程来创建一个电子商务应用程序,该应用程序由一个 ProductCatalog 服务和一个 Web API 服务组成。Web API 应该由客户端使用。Web API 公开一个 API 调用以获取所有产品。API 在内部调用 ProductCatalog 服务,该服务具有硬编码的产品列表。这些由 ProductCatalog 服务返回。API 服务和 ProductCatalog 服务是微服务。使用 .NET Remoting 调用内部服务。API 和 ProductCatalog 服务都使用相同版本的 .NET 远程处理。问题不是提供产品列表的 API,而是给我以下错误:

元素“ http://schemas.microsoft.com/2003/10/Serialization/:anyType ”包含映射到名称“urn:ServiceFabric.Communication:ServiceResponseMessageHeaders”的类型的数据。反序列化器不知道映射到此名称的任何类型。如果您正在使用 DataContractSerializer,请考虑使用 DataContractResolver,或者将与“ServiceResponseMessageHeaders”对应的类型添加到已知类型列表中 - 例如,通过使用 KnownTypeAttribute 属性或将其添加到传递给序列化程序的已知类型列表中。

我目前正在努力前进。为什么我会收到此错误,我该如何摆脱它?

0 投票
1 回答
1202 浏览

c# - AspNet Core WebApi 在启动时失败并出现错误 System.Collections.Generic.KeyNotFoundException

我的构建成功构建 + 部署在 Azure 集群中。 VSTS 构建任务

我没有代码更改。我比较了工作和不工作的构建工件。我的 MyCompany.MyService.Api.deps.json 文件中有新条目:

在过去的几个月里,我成功地构建和部署了。然而在过去的 5 天里,从 VSTS 构建构建的代码无法部署到集群。我的 API 服务无法启动,并且出现以下错误。请建议我如何调试。代码在我的本地集群中成功部署和启动。

0 投票
1 回答
167 浏览

azure-service-fabric - 如何为 Service Fabric 应用程序指定默认区域性?

有没有办法像 Web 应用程序一样为 Service Fabric 无状态/有状态服务声明默认区域性?在 Web 应用程序中,我使用了以下声明:

但是对于 Service Fabric 应用程序,我必须在服务初始化中包含以下代码:

0 投票
3 回答
782 浏览

azure - Service Fabric:System.ArgumentException:找不到使用此 ID -488762776 的接口

我正在开发一个简单的 Service Fabric 群集,我想从无状态 ASP.NET Core 2.0 Web API 调用无状态服务。

我做的第一件事是创建一个带有简单接口和 DTO 的 .NET Standard 2.0 类库:

然后我从中创建了一个 NuGet 包,并将该包作为依赖项添加到我的 Web API(MyServiceApi 项目)和无状态服务(MyService)。

服务的监听器定义为

接口实现很简单

在 MyServiceApi 中,我有一个控制器方法,看起来像

当我启动调试器时,我可以进入 MyServiceApi 的控制器方法,但它会抛出以下异常:

System.AggregateException: '发生一个或多个错误。(异常 System.ArgumentException 在服务上未处理,无法序列化以传输到客户端。详细的远程异常信息:System.ArgumentException:在 Microsoft.ServiceFabric.Services.Remoting.V2 上找不到具有此 ID -488762776 的接口。 ServiceRemotingMessageSerializersManager.GetInterfaceDetails(Int32 interfaceId) 在 Microsoft.ServiceFabric.Services.Remoting.V2.ServiceRemotingMessageSerializersManager.CreateSerializers(Int32 interfaceId) 在 System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory) 在 Microsoft.ServiceFabric.Services.Remoting.V2.FabricTransport.Runtime.FabricTransportMessageHandler.CreateRemotingRequestMessage(FabricTransportMessage fabricTransportMessage, Stopwatch stopwatch) 在 Microsoft.ServiceFabric.Services.GetRequestBodySerializer(Int32 interfaceId) 在 Microsoft.ServiceFabric .Services.Remoting.V2.FabricTransport.Runtime.FabricTransportMessageHandler.d__7.MoveNext())'

我在我的诊断事件中没有发现任何看起来很有希望的东西,而且我看到的类似问题的唯一提及(在这个站点和其他地方)通常涉及不同程序集中的类型,这不是问题,因为共享接口包含在 NuGet 包中。

有什么想法我可能会在这里出错吗?

0 投票
1 回答
93 浏览

c# - 使用差异打包打包 Service Fabric 后阻止 Visual Studio 重建

我在升级 Service Fabric 应用程序时遇到了很多问题。

我原来的问题在这里

我现在正在提出一个新的,因为这与差异包装特别相关。

我已经修改了我的包以删除我不想接触的服务。

但是当我通过 Visual Studio 发布时,它会进行完整构建。

如果我尝试通过右键单击它自己运行 PowerShell 脚本,它不起作用:

任何人都可以提出任何建议吗?

如何在 PowerShell 中运行此脚本而不会出错?我对 PowerShell 没有太多经验,我绝对不想从头开始创建升级脚本!

目前我正试图让它在本地 5 节点集群中工作。

0 投票
1 回答
69 浏览

service-fabric-stateless - 通过 Powershell 调用 ServiceFabric 服务

我的团队开发了一个包含多个服务的 ServiceFabric 应用程序。这些服务在应用程序中相互使用,但出于管理目的,我想直接从 PowerShell 调用其中一项服务。

在服务中创建和使用代理对象:

我希望能够通过 PowerShell 将文件发送到同一服务。这可能吗?我该怎么做?这是在我的盒子上,所以我有所有可能需要的证书/秘密。