问题标签 [service-fabric-on-premises]
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 - Service Fabric - 如何在一个集群上部署多个代码分支?
由于每个集群必须至少有 3 台服务器的硬件要求,我想使用该硬件来支持多个分支/环境。具体来说,我们通常为一个应用程序同时运行 3 个 Dev 和 3 个 Test 分支,以支持多个并行开发项目。在我们发布到生产环境后,代码会合并回其他分支。
我知道我可以创建一个应用程序类型的多个实例,但我认为我真正需要的是在同一个集群上拥有一个应用程序类型的多个版本。很有可能同时在 A 和 B 分支中进行开发。我们希望测试两个分支并将其部署到 Dev Cluster。
同样,我想使用同一个集群来公开一个测试环境端点。因此,随着代码的提升,我可以部署应用程序的 TestB 版本,如果发生错误修复,这些将被修复并部署在该应用程序类型的 DevB 版本中。
为了处理 WebAPI 端点端口问题,我们计划让构建脚本选择环境特定的 WEBAPI 服务清单,因为它包含将 Service Fabric 应用程序公开给调用应用程序的端口号。因此,我将拥有一个 ServiceManifest-DevB.xml 文件,该文件被重命名为普通的旧 ServiceManifest.xml,并在 DevB 版本发布时打包。然后 ServiceManifest-TestB.xml 将执行相同的操作,但具有不同的端口。这里的另一个选择是 Tokenizer。
但是我正在努力解决如何在集群上运行相同应用程序类型的不同版本?我可以覆盖参数文件中的应用程序类型或类似的东西吗?我真的希望我不需要为此构建 6 个集群?那是一吨不会飞的硬件。
请提前帮助和感谢,格雷格
azure-service-fabric - 在取消服务之前是否有 Service Fabric 通知?
我已经设置了一个RegisterServiceNotificationFilterAsync
用于获取服务更改事件通知的服务。它按预期工作。当服务关闭时,将调用此事件。
但它发生在服务离线之后。这意味着在我将它从我的负载均衡器池中拉出之前,几个请求可能已经针对现在离线的服务失败了。
有时,Service Fabric 只能对脱机的服务做出反应。例如,如果有人拔掉服务器节点上的插头,Service Fabric 显然无法提前告诉我该服务正在下线。
但很多时候,达到了一个阈值,是 Service Fabric 本身杀死了服务(并启动了一个新服务)。
有没有办法在 Service Fabric 终止服务之前知道? (所以我有时间更新我的负载均衡器。)
(以防万一,我在本地运行 Service Fabric。)
azure-service-fabric - 如何清除/确认 Service Fabric Explorer 中的警告
我正在使用 On Premises Service Fabric 的非产品集群进行测试,并且我在我的一个节点上停止了我的一项服务的进程(以查看它会如何响应)。
这导致资源管理器显示以下警告:
CodePackage 激活过程中出错。服务主机以退出代码终止:1
Service Fabric 恢复良好。它创建了一个新的流程实例并继续运行。
但我似乎看不到如何清除资源管理器的警告。在我的非产品环境中,我可以删除并重新部署应用程序。
但在产品中我不能这样做。尤其是不要仅仅摆脱警告信息!
有没有办法告诉 Service Fabric,“谢谢你告诉我,我现在知道了,你可以忘记它并继续吗?”
msbuild - 更新本地 Service Fabric SDK 后的 VSO 和 Service Fabric 问题
希望这里的任何人都可以提供帮助。我已经坚持了好几天了。
我有 VSO 并且正在使用服务结构。在新开发人员在他的计算机上安装最新的 Service Fabric SDK 之前,我的构建始终在 VSO 上运行。可以使用最新的 SDK,我也更新了我的。这对本地没有任何影响。但它的 SF 项目不再建立在 VSO 之上。
这是错误:
ServiceFabricBackup\SocialHootz.Refs\SocialHootz.Refs.sfproj(0,0):错误 MSB4057:项目中不存在目标“包”。进程“msbuild.exe”以代码“1”退出。
我的直觉是 VSO 上的 Hosted 2017 服务没有使用最新版本的 MSBUILD,但我在这个阶段不知所措。
service-fabric-stateless - 如何为 http 和 https 配置和启用 Service Fabric 反向代理?
我想让 localhost 服务结构反向代理端口号 (19081) 对 HTTP 和 HTTPS 协议都有效。
azure-service-fabric - 获取分配给 Service Fabric 中当前服务的端口
如果您创建一个新的 Service Fabric Web Api 应用程序,则该PackageRoot/ServiceManifest.xml
文件具有一个ServiceManifest/Resource/Endpoints/Endpoint
具有属性的节点Port
。Service Fabric 使用它来决定托管服务的端口。
但是,如果您删除此属性,Service Fabric 将为您动态选择一个端口。
我正在尝试找到一种在应用程序运行时获取该端口的方法。
我知道我可以向 Service Fabric API 询问我的服务的端点列表,然后通过我当前的节点限制它。这非常接近。但是如果由于某种原因我的服务在同一个节点上托管了两次,那么我将无法知道哪个是“当前”应用程序。
我希望有一种方法不涉及对集群的服务调用。
选择的端口是否存储在我可以访问的地方。(在StatefulServiceContext
也许?
azure-service-fabric - 在服务结构中为环境声明特定的用户主体
是否可以在某些环境中定义主要用户?
如果我们看一下示例ApplicationManifest.xml
摘录:
该mydomain\prodUser
帐户仅存在于生产环境中,但由于该帐户ApplicationManifest.xml
用于所有环境,因此我的本地开发集群发生部署错误,因为该用户不存在。在我的本地开发集群上,我想默认使用 NetworkService 用户。
我曾尝试使用参数来设置 AccountName 等,但该节点不允许使用参数。我只想在部署到生产环境时声明这个用户。
asp.net-web-api - 如何为本地 Service Fabric 设置 Application Insights?
是否可以为托管在服务结构的本地版本上的 Web api 添加应用程序洞察力?
到目前为止,我已经尝试将应用程序洞察添加到我的项目中,并且想知道将其发送到哪里进行监控。当应用程序也在云上时,这很容易。
我相信没有本地应用程序洞察服务,所以即使 web api 托管在服务结构上;必须使用云版应用洞察服务,对吗?在这种情况下,谁能告诉我如何设置?