问题标签 [service-fabric-stateful]

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 投票
1 回答
324 浏览

azure-service-fabric - ServiceFabric StatefulService 部署故障排除

在 ServiceFabric 版本 5.1.163.9590 中使用有状态服务时,我正在尝试部署一个演示应用程序,其中包含三个管理自己状态的 WebApi 服务。

这三个服务中的两个启动并创建了它们的分区而没有错误,但最后一个会引发一系列警告和错误,错误详细信息有这个有趣的消息:

我找不到对此错误消息的任何外部引用。

有没有办法从应用程序和服务部署端或集群管理端纠正这个问题?

0 投票
1 回答
274 浏览

c# - IReliableQueue Enqueue 序列化错误

我在有状态服务结构应用程序中使用可靠队列。当我试图将一个项目入队时,入队方法抛出异常

使用的代码是

在 myQueue.EnqueueAsync 上,它正在引发异常

不应使用数据合同名称“CreateCommand: http://schemas.datacontract.org/2004/07/TestService ”键入“TestService.CreateCommand”。如果您正在使用 DataContractSerializer 或将任何静态未知的类型添加到已知类型列表中,请考虑使用 DataContractResolver - 例如,通过使用 KnownTypeAttribute 属性或将它们添加到传递给序列化程序的已知类型列表中。

堆栈跟踪

在 System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract 数据合同,XmlWriterDelegator xmlWriter,对象 obj,布尔 verifyKnownType,RuntimeTypeHandle 声明类型句柄,类型声明类型)在 System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithXsiTypeAtTopLevel(DataContract 数据合同,XmlWriterDelegator objWriter xmlWriter originalDeclaredTypeHandle, Type graphType) 在 System.Runtime.Serialization.DataContractSerializer.InternalWriteObjectContent(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver) 在 System.Runtime.Serialization.DataContractSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver) 在 System.Runtime。序列化。XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver) at System.Runtime.Serialization.XmlObjectSerializer.WriteObject(XmlDictionaryWriter writer, Object graph) at Microsoft.ServiceFabric.Replicator.DataContractStateSerializer1.Write(T value, BinaryWriter binaryWriter) at System.Fabric.Store.TStore5.GetValueBytes(TValue currentValue, TValue newValue) 在 System.Fabric.Store.TStore 5.<AddAsync>d__4.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.ServiceFabric.Data.Collections.DistributedQueue1.d__9.MoveNext() 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task 任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在 System.Runtime.CompilerServices.TaskAwaiter.GetResult()
的 TestService.TestService.d__2.MoveNext() 在 D:\Projects\Local\ReliableSerialization\Application1\TestService\TestService.cs:System.Runtime 的第 51 行。 CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.ServiceFabric.Services.Runtime.StatefulServiceReplicaAdapter.d__f.MoveNext()

当我更改代码以使用具体类型时,它工作正常。

就我而言IReliableQueue<CreateCommand>

它工作得很好。

我的代码参考:https ://github.com/Azure-Samples/service-fabric-dotnet-iot/blob/master/src/gateway/IoTProcessorManagement.Common/WorkManagement/WorkManager.cs

0 投票
1 回答
785 浏览

c# - 如何从现有备份中恢复可靠服务状态?

我有一个根据相应文档实施的带有备份逻辑的有状态服务

就像这样:

文档只建议了一种恢复备份的方法 - 使用OnDataLossAsync方法。但我无法引发对这种方法的调用。

所以,问题是:如果数据全部丢失,如何从备份中恢复服务状态?

例如,所有 Service Fabric 集群节点都已销毁。我唯一的东西就是我的备份。重新部署后我应该怎么做才能恢复我的服务状态?

我检查了 Service Fabric 群集管理器DataLog目录,但与备份相比,数据格式似乎有所不同。

0 投票
2 回答
2881 浏览

c# - Microsoft Service Fabric 状态服务将无法启动

突然间,我的本地 Service Fabric 无法启动有状态服务。我试图卸载 SDK,但没有运气。相同的服务在 Azure 集群上运行良好。

连visual studio中的快速启动服务都启动不了

服务状态:fabric:/testapp/Stateful1 未准备好,剩余 1 个分区。

服务状态:fabric:/testapp/Stateful1 未准备好,剩余 1 个分区。

有些事情花费的时间太长,应用程序还没有准备好。完成执行脚本“Get-ServiceFabricApplicationStatus”。经过时间:00:01:41.7659838


来自 Service Fabric Explorer 的错误:错误事件:SourceId='System.FM',Property='State'。分区低于目标副本或实例计数。

0 投票
1 回答
1748 浏览

azure-service-fabric - 端点在 Service Fabric 服务的 ServiceManifest 中配置什么?

我们有一个包含多种服务的 Service Fabric 服务项目:Actor、有状态服务和无状态服务组合成一个 ServiceManifest。

两个有状态服务不起作用:调用了构造函数,创建了通信侦听器(通过远程处理),但没有调用 RunAsync 方法。

从 ServiceManifest.xml 中删除端点列表后,服务再次开始工作。但是现在我们想知道为什么以及如何工作。有人可以解释一下吗?

为了说明,相关部分是

改成这个后

一切正常。但为什么?

编辑 完整的 ServiceManifest 是这样的:

0 投票
1 回答
966 浏览

azure - Service Fabric 可靠收集能力

在一些 Service Fabric 应用程序示例参考: https ://github.com/Azure-Samples/service-fabric-dotnet-iot中,它检查集合中当前存在的项目数,例如

m_MaxNumOfBufferedWorkItems 的当前值为 10000

设置 Reliable 集合的最大缓冲区值需要考虑哪些因素?

0 投票
2 回答
7045 浏览

azure-service-fabric - 分区处于仲裁丢失状态

我有一个 Service Fabric 应用程序,它有一个无状态 Web api 和一个有两个分区的有状态服务。无状态 web api 定义了一个 web api 控制器并用于ServiceProxy.Create获取有状态服务的远程代理。远程调用将消息放入可靠队列。

有状态服务将每隔 X 分钟从队列中取出消息。

我正在查看 Service Fabric 资源管理器,过去几天我的应用程序一直处于错误状态。当我深入了解详细信息时,有状态服务出现以下错误:

错误事件:SourceId='System.FM',Property='State'。分区处于仲裁丢失状态。

查看资源管理器,我发现我的主副本已启动并正在运行,它看起来像一个 ActiveSecondary,但其他两个副本显示 IdleSecondary 并且它们继续进入 Standby / In Build 状态。我无法弄清楚为什么会这样。

我的其他辅助节点一直无法进入 ActiveSecondary 状态/导致此仲裁损失的一些原因是什么?

在此处输入图像描述

0 投票
1 回答
203 浏览

azure - 减少 Service Fabric 备份大小

我正在尝试将 Service Fabric 备份与 Actor 一起使用:

但我注意到一个备份文件可能包含多个文件,例如:

  • edb0000036A.log 5120 KB
  • edb0000036B.log 5120 KB
  • edb00000366.log 5120 KB
  • ...

我还没有找到有关这些文件的任何信息,但它们似乎只是日志,我可能不包括它们。我是对的还是这些文件必须包含在备份中?

这些文件很重,所以我正在尝试减少备份的大小

更新 1: 我尝试使用增量备份。但似乎演员不支持我在 MSDN 上阅读的增量备份。此外,我已经测试但得到异常“无效的备份选项。参数名称:选项”

0 投票
1 回答
25 浏览

wcf - wcfServiceObject:这无法转换错误

该行wcfServiceObject:this给出了一个错误cannot convert from ... to ...

我该如何解决这个问题?

代码来自:https ://azure.microsoft.com/nl-nl/documentation/articles/service-fabric-reliable-services-communication-wcf/

0 投票
2 回答
1479 浏览

domain-driven-design - Azure Service Fabric 可靠集合和其他持久存储

我对 Service Fabric 很陌生。

Service Fabric 是否建议仅使用可靠集合来存储应用程序的所有数据?

如果我使用 SQL DB 来持久化我的所有业务数据并使用 Reliable Collection 懒惰地持久化到 SQL DB 以实现集成,该怎么办?在 DDD 之后,如果我将聚合保存到 SQL DB 并在可靠集合中留下一个条目以与其他有界上下文通信。这种做法会不会有什么问题?