问题标签 [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.
c# - StatefulService 对 ICommunicationListener 的职责是什么
我将使用第三方消息传递系统来接收我的有状态服务的消息。所以我开始看ICommunicationListener
界面和现有的样本。但是,不清楚它应该做什么,因为大多数示例直接或间接在通信侦听器中处理入站消息。我找不到将入站消息传递给服务的任何方法。
因此,我找不到任何有意义的理由说明ICommunicationListener
接口或CreateServiceReplicaListeners
方法存在的原因。服务本身已经具备有关如何创建和配置侦听器的所有知识。因此,您可以直接在有状态服务中配置自己的侦听器(使用组合),而无需强制实现特定接口。
那么额外的复杂层增加了什么?
azure - Azure Service Fabric - 适用于 Windows 容器上托管的应用程序的 HTTP 504
我使用“Windows 2016 DataCenter with Containers”操作系统创建了一个 Azure Service Fabric 集群,并在集群的 80 端口上启用了反向代理侦听。我已经在这个集群上部署了一个示例容器应用程序。
我可以通过公共负载均衡器访问它,但是当我尝试通过反向代理访问它时,我会收到随机的 HTTP 504(网关超时)错误。
是否有人在通过反向代理访问容器托管应用程序时遇到 504 超时错误?任何帮助将不胜感激。
谢谢, 高拉夫
azure - Azure Service Fabric Windows 容器 - 容器间通信
我使用“Windows 2016 DataCenter with Containers”操作系统创建了一个 Azure Service Fabric 集群,并在集群的 80 端口上启用了反向代理侦听。我们打算在此集群上部署我们的旧版 ASP.NET MVC 和 WCF 应用程序。
在我们现有的部署模型中,由于聊天通信和低延迟要求,我们有位于同一主机上的服务相互通信。windows 容器中托管的应用程序是否可以与同一节点上的其他 windows 容器应用程序通信?基本上,我希望在同一个 Service Fabric 节点上的两个 Windows 容器应用程序之间具有节点关联性。
我用一个示例应用程序进行了尝试,看起来唯一的选择是使用动态分配的容器的私有 IP。在 Service Fabric 群集上实例化容器时是否可以传递 --ip-address 参数?
[更新:2017 年 4 月 5 日]
Service Fabric 群集版本:5.5.219.0
总节点类型:1
节点总数:3
两个容器都部署在所有三个节点上。Azure Internet 负载均衡器用于公开 Service Fabric 反向代理。所有服务都通过反向代理在内部和外部访问。
高拉夫
azure-service-fabric - 服务结构。应用洞察。事件流。禁用来自 TplEventSource 的日志消息
我正在从事 Service Fabric(5.5.216) 项目。请记住,我是 Azure 开发的新手,所以我可能会错过一些非常明显的东西。我正在使用 VS 2015 Update 3..Net Framework 4.6.2。我已经能够将 Application Insights(2.2.0) 日志记录添加到我的服务中。我已经使用 EventFlow(1.1.0) 和 EventFlow.ServiceFabric(1.1.1) 包来做到这一点。一切都很好,但我在 ApplicationInsights 日志中看到了许多来自 TplEventSource(可能来自任务并行库?)的消息,如下所示:
“从任务 23 开始 2 循环 123。”
“从任务 23 结束 2 循环 123。”
好吧,老实说,我认为用这些消息污染日志没有多大价值(就像根本一样)。所以问题是:
有什么方法可以通知 EventFlow 或 Service Fabric 或其他任何人(无论是谁)不要记录这些消息?
wcf-data-services - Service Fabric 应用上的打包
我正在尝试部署 Service Fabric 应用程序并将其打包以便在服务器上发布它。我在解决方案资源管理器中右键单击项目并单击包,但 ...\pkg\Release 中没有任何内容,只有一个 ApplicationManifest.xml 文件。而且我得到错误 PowerShell 脚本未能执行:
测试服务FabricApplicationPackage
在发布或发布部署模式。
c# - Service Fabric:存储在 IReliableDictionary 中的 ImmutableList 在应用程序升级时返回空
我目前正在开发一个保留多个IReliableDictionary
对象的 Service Fabric 有状态服务。正如本文所推荐的那样,其中一些字典具有ImmutableLists
as 值。
例如,我有一个. 字典被完美地填充和检索,但是当应用程序升级时,我所有的不可变列表都返回为空。所有其他数据都完好无损,如果我切换到,则集合保留得很好。为了进行此测试,我正在填充列表,增加服务版本号,并在我的本地集群上点击“发布 > 升级”。我已经测试了 1 和 5 节点配置,效果相同。
是否存在与和
的兼容性问题IReliableDictionary<string,ImmutableList<string>>
IReliableDictionary<string,List<string>>
ImmutableList
IReliableDictionary
我应该注意什么?我该如何正确存储我的状态?我很乐意根据需要分享任何代码,但我不确定哪些部分是相关的。
首次运行时初始化并在后续运行时检索:
service - 如何使用最新的 Service Fabric SDK 2.5.216 创建 ServiceReplicatorListener?
我最近将我们的 Service Fabric SDK 从 2.4.145 升级到 2.5.216,但这破坏了一切(StatefulService基类上没有IService和CreateServiceRemotingListener )。以前,您会像这样创建服务副本侦听器:
但是,新的 SDK 2.5.216 不再具有基类上的CreateServiceRemotingListener方法。文档仍然认为你可以做到这一点,但我已经检查了 GitHub 中的源代码,基类上肯定没有CreateServiceRemotingListener!
我的问题是如何创建副本侦听器以及如何覆盖侦听器设置,即 MaxConcurrentCalls 等?
微软:请改进服务结构文档并添加一些不错的示例。
azure - 删除 Service Fabric 中的空闲状态服务
我有一组特定于用户的有状态服务,为从应用程序中面向公众的无状态服务 (Web API) 转发的请求提供服务。
如果自给定时间间隔(例如一小时)以来没有为任何用户请求提供服务,我正在尝试删除有状态服务。目前,我通过在服务本身中保留一个 .NET 计时器并在服务空闲时使用滴答事件自毁服务来管理它。
这是正确的方法吗?或者还有其他更有效的方法可以在 Azure 服务结构中执行此操作吗?
security - Service Fabric 独立群集中服务的安全通信
我已经使用以下参考文档保护了 Service Fabric 群集(客户端到节点和节点到节点)
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-security
我需要在 Service Fabric 内的应用程序类型中为每个微服务之间的通信设置安全性方面获得一些帮助。
例如,我有这个带有 AngularJs 前端和两个有状态服务的示例应用程序,服务 A 和服务 B
问:保护从 AngularJS 前端到服务 A 以及从服务 A 到 B 等的调用的最佳实践是什么?(下图中的红色箭头)
有什么参考文件或书可以参考吗