问题标签 [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.
azure-service-fabric - ServiceFabric StatefulService 部署故障排除
在 ServiceFabric 版本 5.1.163.9590 中使用有状态服务时,我正在尝试部署一个演示应用程序,其中包含三个管理自己状态的 WebApi 服务。
这三个服务中的两个启动并创建了它们的分区而没有错误,但最后一个会引发一系列警告和错误,错误详细信息有这个有趣的消息:
我找不到对此错误消息的任何外部引用。
有没有办法从应用程序和服务部署端或集群管理端纠正这个问题?
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.DataContractStateSerializer
1.Write(T value, BinaryWriter binaryWriter) at System.Fabric.Store.TStore
5.GetValueBytes(TValue currentValue, TValue newValue) 在 System.Fabric.Store.TStore5.<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.DistributedQueue
1.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>
它工作得很好。
c# - 如何从现有备份中恢复可靠服务状态?
我有一个根据相应文档实施的带有备份逻辑的有状态服务
就像这样:
文档只建议了一种恢复备份的方法 - 使用OnDataLossAsync
方法。但我无法引发对这种方法的调用。
所以,问题是:如果数据全部丢失,如何从备份中恢复服务状态?
例如,所有 Service Fabric 集群节点都已销毁。我唯一的东西就是我的备份。重新部署后我应该怎么做才能恢复我的服务状态?
我检查了 Service Fabric 群集管理器Data
的Log
目录,但与备份相比,数据格式似乎有所不同。
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'。分区低于目标副本或实例计数。
azure-service-fabric - 端点在 Service Fabric 服务的 ServiceManifest 中配置什么?
我们有一个包含多种服务的 Service Fabric 服务项目:Actor、有状态服务和无状态服务组合成一个 ServiceManifest。
两个有状态服务不起作用:调用了构造函数,创建了通信侦听器(通过远程处理),但没有调用 RunAsync 方法。
从 ServiceManifest.xml 中删除端点列表后,服务再次开始工作。但是现在我们想知道为什么以及如何工作。有人可以解释一下吗?
为了说明,相关部分是
改成这个后
一切正常。但为什么?
编辑 完整的 ServiceManifest 是这样的:
azure - Service Fabric 可靠收集能力
在一些 Service Fabric 应用程序示例参考: https ://github.com/Azure-Samples/service-fabric-dotnet-iot中,它检查集合中当前存在的项目数,例如
m_MaxNumOfBufferedWorkItems 的当前值为 10000
设置 Reliable 集合的最大缓冲区值需要考虑哪些因素?
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 状态/导致此仲裁损失的一些原因是什么?
azure - 减少 Service Fabric 备份大小
我正在尝试将 Service Fabric 备份与 Actor 一起使用:
但我注意到一个备份文件可能包含多个文件,例如:
- edb0000036A.log 5120 KB
- edb0000036B.log 5120 KB
- edb00000366.log 5120 KB
- ...
我还没有找到有关这些文件的任何信息,但它们似乎只是日志,我可能不包括它们。我是对的还是这些文件必须包含在备份中?
这些文件很重,所以我正在尝试减少备份的大小
更新 1: 我尝试使用增量备份。但似乎演员不支持我在 MSDN 上阅读的增量备份。此外,我已经测试但得到异常“无效的备份选项。参数名称:选项”
wcf - wcfServiceObject:这无法转换错误
该行wcfServiceObject:this
给出了一个错误cannot convert from ... to ...
。
我该如何解决这个问题?
domain-driven-design - Azure Service Fabric 可靠集合和其他持久存储
我对 Service Fabric 很陌生。
Service Fabric 是否建议仅使用可靠集合来存储应用程序的所有数据?
如果我使用 SQL DB 来持久化我的所有业务数据并使用 Reliable Collection 懒惰地持久化到 SQL DB 以实现集成,该怎么办?在 DDD 之后,如果我将聚合保存到 SQL DB 并在可靠集合中留下一个条目以与其他有界上下文通信。这种做法会不会有什么问题?