问题标签 [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.
service-fabric-stateful - 删除 Service Fabric Actor 似乎没有清除 D 上的状态:(临时存储驱动器)
我们似乎在 Service Fabric 群集中遇到了一个问题,在该群集中,Actor 服务的状态已经增长到临时存储 (D:) 驱动器已满的程度。据我了解,Actor 状态和可靠收集状态被持久保存到此驱动器上的磁盘上。对于一项服务,我们积累了 ActorStateStore 文件占用的 190 GB 空间。
我们假设空间被我们系统中不再需要的大量陈旧actor占用了,因此我们添加了对服务的调用,以使用此处详述的机制清除不需要的actor ( https://docs .microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-actors-lifecycle)。
我们循环遍历状态中的演员的完整列表,并在我们不想保留的任何内容上调用删除,这将是其中的绝大多数,希望这可以减少我们在临时存储驱动器上的空间消耗。然而,空间似乎并没有被释放。有谁知道这个过程的生命周期是什么?在我们期望驱动器空间出现空闲之前是否有提前期?
是否有可用于释放此驱动器空间的机制,或者执行内务管理以删除我们不再感兴趣的旧演员的最佳方式是什么?
visual-studio - 找不到 ETW 事件 ID/名称
我从 Visual Studio 向导创建了一个 Service Fabric 应用程序
这主要是工作,但诊断事件查看器不工作
这需要 ETW 提供程序名称或 GUID
我怎么找到这个?
我已经尝试了服务结构工具输出中的调试参数中显示的那个,但它不起作用
我目前正在将其作为开发集群运行
保罗
azure-service-fabric - 如何在 Service Fabric 中获取 Aggregte Exception 的原因?
将访客应用程序部署到本地集群时出现聚合异常
不幸的是,错误消息是无用的
我如何获得更多信息以查看其确切原因?
我正在使用 Visual Studios 发布部署
保罗
c# - Deploy a C# Stateful Service Fabric application from Visual Studio to Linux
EDIT 04/06/18 => Updated question with last status
So I have this working .Net 4.6 Stateful Service that currently run on my Windows Service Fabric cluster deployed on Azure.
Starting from 09/2017, I should be able to move to Linux: https://blogs.msdn.microsoft.com/azureservicefabric/2017/09/25/service-fabric-6-0-release/
So I'm trying to deploy it on Linux so I can save costs.
First things first, I've migrated all my code from .Net 4.6 to .Net Core 2.0. Now I can compile my binaries without issues. I've basically created new .Net Core projects and then moved all my source code from .Net 4.6 projects to the new .Net Core ones.
Then I've updated my Service Fabric application. I removed my previous SF services from my sfproj, then I've added my new .Net Core ones.
Looks like there is a warning (nothing on the output window though), but it's here anyway if I try to create a new empty Statful service using .Net core 2.0 through the template provided by Service Fabric Tools 2.0 (beta):
So I'm going to live with it.
- On my dev machine, I've modified the 2 csproj projects that contain my Stateful services so they can run locally as Windows executables. I've used the win7-x64
runtimeIdentifier
.
Running my SF cluster locally on my Windows machine is fine.
- Then I've slightly changed the previous csproj files for Linux. I used the ubuntu.16.10-x64
runtimeIdentifier
.
Also I've changed the ServiceManifest.xml file to target the linux-compatible binary:
entryPoint.sh
is a basic script that eventually executes:
- Then I've successfully deployed to my secured SF Linux cluster from Visual Studio. Unfortunately I have the following errors for both my stateful services:
Error event: SourceId='System.Hosting', Property='CodePackageActivation:Code:EntryPoint'. There was an error during CodePackage activation.The service host terminated with exit code:134
Looks like my binary crashes when starting. So here are my questions:
- Is the approach right to deploy a C# .Net Core SF stateful service on Linux from Visual Studio?
EDIT: looking inside the LinuxsyslogVer2v0 table, I get the following error:
starthost.sh[100041]: Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.Threading.Thread, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I found the following bug report: https://github.com/dotnet/sdk/issues/1502
Unfortunately, I still get the error without using MSBuild (using dotnet deploy
).
EDIT: further clarification:
- My boss want me to run on Linux because starting from D1v2 machines, it's half the price compared to Windows machines (no license etc.)
- My .NET Core 2.0 services successfully run on Windows. So the .NET Core port should be fine.
azure-service-fabric - ProtoBuf - Azure 服务结构
我正在考虑替换 ASF 中 RPC 的默认序列化程序。这涉及实现一些接口,其中一个在通过 RPC 通信的服务之间传递
由于实现需要可序列化,明显的 ProtoBuf 实现类似于
不幸的是,这失败了
没有为类型定义序列化程序:System.Object
这里有解决方法吗?System.Object 没有合同,但 OOTBDataContract
序列化程序可以,这里的MessagePack 也可以,但是这些不是模式化的,这在使用可靠集合时会产生版本控制问题。我尝试过使用通用的基本类型,但 Value 可以是or等等。IEnumerable<T>
T
任何人都可以帮忙吗?谢谢,KH
asp.net-core - Service Fabric .net 核心应用不是 .net 核心
我们正在构建服务结构应用程序并且遇到了一些问题,每当您使用 Visual Studio 创建新的服务结构应用程序并指定使用 .Net 核心应用程序时,应用程序/API 就是create 是一个 .Net 框架应用程序,而不是 .Net 核心。
代替:
有谁知道这是什么原因,或者这是预期的行为?
问候
azure-service-fabric - 用于处理服务总线队列的有状态或无状态服务
我有一个启用会话的 Azure 服务总线队列。我需要某种形式的服务,可以从队列中读取并处理它们并保存结果(在内存中供以后检索)。我们在当前架构中使用 azure servicefabric。关于选择有状态服务还是无状态服务,我几乎没有收到任何问题。
如果我使用有状态服务,那么根据我的理解,服务将在 1 个主节点(假设 1 个分区)和 2 个活动辅助节点上运行。这意味着,如果我有一个 10 节点的 Service Fabric 集群,那么这个有状态的服务将主要只使用一个节点 (VM)。
因此,如果我向这个有状态服务添加一个侦听器以从队列中读取消息,那么主节点上的该服务将从队列中读取消息,并且所有其他剩余的 9 个节点将无法使用。这个对吗?
而如果我使用无状态服务,我可以在所有 10 个节点上创建实例,并且它们都可以监听队列中的消息并并行处理它们。但是,我将放弃保存结果的选项。
请指教。
azure-devops - VS-OnLine - 构建/发布错误:服务缺少配置
我正在尝试在 Visual Studio Online 中创建演员服务的构建和发布。我已经毫无问题地创建了构建并发布到其他服务结构。但是有了这个特定的服务,我得到了以下错误:
E:\SFabric\SP\SP2DS\Fabric\work\ImageBuilderProxy\AppType\SchedulerServiceAppType 中应用的 BuildLayout 无效。服务 SchedulerServicePkg 缺少配置。
第一次发布工作正常,但在第一个版本发布后,其他版本我得到了这个错误。
其他服务是无状态的,我不知道为什么会发生这个问题,只是这个服务是有状态的。
新的信息
我正在尝试改变优势设置,有时我会成功。
即便如此,我想知道我如何正确地做
c# - Service Fabric - 服务初始化失败
我正在使用 Visual Studio 2015,我创建了一个默认的 Statefull 项目并出现此错误:
引发异常:mscorlib.dll 中的“System.Fabric.FabricException” SPMService.exe System.Runtime.InteropServices.COMException 中出现“System.Fabric.FabricException”类型的未处理异常:异常 HRESULT:0x80071D2D
我没有更改 App.config 或 package.config(这是一个默认项目)。
在我的 Default Statefull 项目(已用于测试错误)中,我或多或少地有 14 秒的错误。
*11:21:14.561 ServiceHostInizializationFailed 服务主机初始化失败。
它计数到 14 我有错误服务主机初始化失败:
每14秒或多或少的屏幕错误
错误的完整日志
我的主项目中的错误与我的默认测试项目 Statefull 相同
我的包的版本信息
azure-service-fabric - 两个端点有状态服务不起作用
我已设置我的 servicefabric 有状态服务以使用两个侦听器端点
- 远程服务 V2
- WCF 远程处理
我的CreateServiceReplicaListerners()
长相是这样的——
但是,在测试中我发现只有一个端点有效。具体来说,只有第一个注册的作品。在上述情况下,服务远程处理工作但 WCF 侦听器没有。在我试图进行 wcf 调用的客户端中,我不断收到错误消息 -The provided URI scheme 'localhost' is invalid; expected 'net.tcp'.
当更改它们的注册顺序时,WCF 远程处理工作但 SeviceRemoting 不工作。这看起来像一个错误,不知道是否有人遇到过类似的问题?
请指教。
更新:
这是我的客户端详细信息