问题标签 [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 投票
1 回答
763 浏览

azure - Unique Name must be specified for each listener when multiple communication listeners are used

I have created a .NET Core stateless Service Fabric application (v 3.0.467). I need to use both KestrelCommunicationListener and a ServiceProxy remote call for this service.

When I am deploying the application to the local cluster, it's throwing an exception:

Unique Name must be specified for each listener when multiple communication listeners are used Service Fabric Explorer exception

I have configured as below in the servicemanifest.xml file

and code sample:

Is there any mistake in this configuration?

Update:

Below code is the service sample method calling from the client:

Client code:

Sample code is in following GitHub link: serviceappcode

0 投票
1 回答
677 浏览

azure - 对于相对简单但吞吐量较高的 API,如何确定 Service Fabric 群集中的节点类型数、节点数和 VM 大小?

我有一个 Asp.Net core 2.0 Wen API,它的逻辑相对简单(在 SQL Azure DB 上进行简单选择,返回大约 1000-2000 条记录。没有连接、聚合、函数等)。我只有 1 个 GET API。这是从角度SPA调用的。两者都作为无状态服务部署在服务结构中,作为自托管 exe 托管在 Kestrel 中。

考虑到用户数量和刷新频率,我确定每分钟大约有15000个请求。换句话说,250 个请求/秒。

在创建 Service Fabric 群集时,我试图了解不同的设置。

我想知道:

  1. 有多少节点类型?(我已经确定为前端和后端)
  2. 每个节点类型有多少个节点?
  3. 我需要选择的 VM 大小是多少?

我已经准备好了关于集群容量规划的 azure文档。虽然我理解这些概念,但我没有参考框架来确定我需要为上述问题提供的实际值。

0 投票
2 回答
556 浏览

azure-service-fabric - 每个节点有多个无状态服务实例

我的无状态服务从服务总线队列接收任务并对其进行处理。我现在正在尝试找到一种尽可能多地使用 Service Fabric 节点资源的最佳方式。所以我看到了 2 种方法:1)在服务中创建多个线程 2)为每个节点创建多个服务实例。我认为第二种方式更安全和正确,但是当我为 1 节点集群指定 InstanceCount = 5 时,我收到了警告。

配置文件

错误:

0 投票
0 回答
97 浏览

azure-service-fabric - 使用Service Fabric ServiceRemoting时获取待执行方法的名称

我正在尝试使用 Application Insights 进行一些日志记录,并且我想记录每个依赖项调用。

我根据以下关于如何设置标头值的 SO 回答来执行此操作:link

在 RequestResponseAsync 方法中,我创建了我的 DependencyTelemetry 对象,并且能够将服务记录到调用的目的地、持续时间等。但是,我还希望能够设置在服务内部调用的方法名称,但是我似乎无法在任何地方找到它。我们正在谈论 WebApi 到 SF 服务调用和 SF 服务到 SF 服务调用。

有人可以告诉我我是否在正确的路径上,或者我是否应该覆盖其他方法。

这是我基于之前链接的 SO 答案的自定义代码:

这会生成依赖项跟踪日志,其中依赖项的名称如下所示:fabric:/ProjectName/ServiceName

我想让它看起来像这样:fabric:/ProjectName/Servicename/ ServiceMethodName

如果这会有所作为,我有无状态服务。

任何帮助深表感谢

0 投票
2 回答
340 浏览

service-fabric-stateless - Service Fabric 自删除服务

我想添加一个服务,在系统首次创建时执行一些初始化操作。

我想这将是一个无状态服务(具有集群管理员权限),它应该在完成后自毁。我的印象是退出该RunAsync功能可以让我表明我已经完成(或处于错误状态)。然而,它仍然在应用程序的上下文中徘徊,并且在它根本没有真正做任何事情时看起来像是“活跃的”。

服务是否可以自行删除?

我想也许我们可以尝试在覆盖中使用FabricClient.ServiceManager's DeleteServiceAsync(使用基于服务上下文的参数),OnCloseAsync但我无法证明这可能有效,而且感觉有点时髦:

有没有更好的办法?

0 投票
1 回答
1150 浏览

azure-service-fabric - V2Listener 未找到错误

我正在将 Web api 服务连接到后端无状态服务。

Backservice 称为 MyProject.Management.Company,其代码为:

代码是从This Blog Post采用的Listener 代码,甚至文档代码都没有编译文档 ,CreateServiceRemotingListenervextension 方法不存在。

ICompanyManagement 是从 IService 接口继承的接口,实现是通过 CompanyManagament 实现的,在这个阶段只返回静态对象。

该 API 称为MyProject.Portal,控制器代码为:

当代码运行时,它会返回以下错误。

NamedEndpoint 'V2Listener' 在地址'{"Endpoints":{"ServiceEndpoint":"localhost:59286+12a705ed-11a5-4bf5-bafd-84179c966257-131719261525940414-9e876439-9294-4ec9-8b34-05f1751}}a 中找不到对于分区 '12a705ed-11a5-4bf5-bafd-84179c966257'

最后:我使用的是.netcore v2,服务结构 v6.2.274。

0 投票
0 回答
252 浏览

azure-service-fabric - 服务结构失败并显示服务状态:fabric:/testsfApplication/tessf 未准备好,没有容器正在运行

我有一个 Asp.net Core 无状态服务结构应用程序,它在本地运行良好,但突然开始在构建和部署时出现上述错误。我在本地重置了 docker 和服务结构,但它仍然失败并出现同样的错误。然后我尝试创建一个测试应用程序,它只是一个带有值控制器的 Asp.net 核心 Web api,并将其转换为服务结构应用程序。它也因相同的错误而失败。我检查了我的事件日志,可以从 docker Handler 看到这条错误消息,用于 POST /containers/create 返回错误:无效的卷规范:'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions \5rn5xyjl.zea\NanoUtilities:c:\remote_debugger_utilites:ro':“bind”类型的装载配置无效:绑定源路径不存在。

不知道出了什么问题。请问有什么指针吗?

0 投票
1 回答
58 浏览

service-fabric-stateless - 使用 Web api 通过 .net 标准访问 Service Fabric 集群

我有一个服务结构无状态服务,我在 azure 的集群内运行

目前有问题的服务只有 1 个实例

我希望能够通过 web api 访问服务中的数据

如何使用 .net 标准而不是 .net 核心来做到这一点?

有很多用于创建 Web api 的链接,但它们似乎是旧的,或者它们指的是 .net 核心

有些人还提供了通过 Visual Studio 添加的说明,现在 Visual Studio 2017 中似乎不可用

保罗

0 投票
2 回答
514 浏览

url-routing - Service Fabric(本地)路由到多租户容器化应用程序

我正在尝试为 Service Fabric 中的多租户容器化 ASP.NET MVC 应用程序获得概念证明。这个想法是每个客户将获得 1+ 个应用程序实例,这些实例分布在整个集群中。我无法绘制出来的一件事是路由。

每个应用程序都将与此 SO answer类似地进行分区。到目前为止的计划是让外部负载平衡器将每个请求路由到 SF 反向代理服务。

例如: tenant1.myapp.com将被路由到反向代理<SF cluster node>:19081/myapp/tenant1(19081 是 SF 反向代理的默认端口)、tenant2.myapp.com-><SF Cluster Node>:19081/myapp/tenant2等,然后代理会将其路由到node:port应用程序实例正在侦听的正确位置。

由于每个应用程序都必须映射到不同的端口,因此 SF 计划在创建每个应用程序时动态分配一个端口。这似乎并不完全可扩展,因为理论上我们可以达到端口限制(~65k)。

那么我的问题是,这是一种有效/建议的方法吗?有更好的方法吗?有没有我遗漏/忽略的东西?我是 SF 的新手,所以任何帮助/见解将不胜感激!

0 投票
2 回答
411 浏览

azure - 如何延迟 Service Fabric 运行时自动升级

我们的团队最近发生了一起事件,原因是我们的无状态服务被重新启动以进行 azure 运行时自动更新。其中一项服务在强制关闭时正在处理任务。这些任务可能需要长达 4 小时。

无论是通过代码还是配置,有没有办法让 Azure 知道我们的服务很忙,不能像这次那样关闭?

换句话说,我们如何让 Azure 知道我们的服务何时准备好进行 Service Fabric 运行时升级?