将自定义元数据嵌入Service Fabric应用程序/服务

肖恩·费尔德曼(Sean Feldman)

我的目标是运行多个应用程序,并将某些元数据嵌入到应用程序/服务中,以便我可以使用元数据查询应用程序/服务。这可能吗?

我正在看下面的帖子,答案暗示了这种可能性,但是没有关于如何获得结果的具体细节。

瓦茨拉夫·图雷切克(Vaclav Turecek)

您获得的“元数据”的主要部分是服务/应用程序实例名称。这就是我在另一篇文章中谈到工作方式是通过创建每个服务/应用程序实例的名称来包含客户端在解析它们时可以使用的一些信息。然后,客户端可以在Service Fabric中查询命名的应用程序/服务实例,并连接到特定的实例。服务/应用程序实例的名称是URI,因此您可以使用路径层次结构对信息进行分类。

继续音频/视频示例:让我们扩展该示例,以便我们有一个应用程序,该应用程序可以为音频或视频的特定媒体格式执行特定的任务。任务+媒体格式的每种组合都是唯一的命名服务实例,从而导致如下所示的部署:

Application:
fabric:/avapp
  Services:
  fabric:/avapp/video/encoding/mp4
  fabric:/avapp/video/encoding/h264
  fabric:/avapp/video/captioning/english
  fabric:/avapp/video/captioning/czech
  fabric:/avapp/audio/encoding/aac
  fabric:/avapp/audio/encoding/mp3
  etc.

现在,客户可以查询Service Fabric以发现可用的服务:

FabricClient fabricClient = new FabricClient();

System.Fabric.Query.ServiceList services = await fabricClient.QueryManager.GetServiceListAsync(new Uri("fabric:/avapp"));

然后,您可以简单地使用LINQ查询服务列表。例如,如果我想查看所有进行视频编码的服务:

services.Where(x => x.ServiceName.AbsolutePath.Contains("video/encoding"));

然后,您可以解析特定服务的地址以连接到该服务:

ServicePartitionResolver resolver = ServicePartitionResolver.GetDefault();
ResolvedServicePartition servicePartition = await resolver.ResolveAsync(new Uri("fabric:/avapp/video/encoding/h264"), new ServicePartitionKey(1), cancellationToken);
ResolvedServiceEndpoint endpoint = servicePartition.GetEndpoint();

地址解析部分还有更多内容(请参阅此处),但这是一般的想法。

应用程序实例还允许您设置可在创建时为每个实例设置的自定义应用程序参数(键-值对)。它们不会显示在应用程序名称中,但是当您向Service Fabric询问正在运行的应用程序实例的列表时,您会获得该信息。当客户端需要决定要连接到哪个应用程序时,也可以将其用作元数据。

更新:有关应用程序实例参数的更多信息:

当你创建一个新的应用程序实例,您可以在提供一组键-值对应用程序描述然后,当您查询Service Fabric的应用程序实例时,您将获得具有所述参数应用程序结果对象的列表这也会显示在Visual Studio的应用程序项目中,在该项目中具有特定于环境的应用程序参数文件。Visual Studio在创建应用程序实例时从XML文件中提取这些键值对,并在应用程序描述中使用它们。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将自定义元数据嵌入Service Fabric应用程序/服务

来自分类Dev

是否可以将自定义服务帐户设置为(ADC)应用程序默认凭据?

来自分类Dev

在同一Service Fabric应用程序类型内部署多个服务

来自分类Dev

将Service Fabric服务添加到系统应用程序

来自分类Dev

Azure Service Fabric指定服务/应用程序启动依赖关系

来自分类Dev

Azure Service Fabric - 为多个 3rd 方服务创建应用程序

来自分类Dev

Azure Service Fabric 中的应用程序和服务部署

来自分类Dev

应用程序崩溃时如何将自定义对象写入数据库?

来自分类Dev

将自定义商店注入应用程序

来自分类Dev

封装来自应用程序的自定义服务

来自分类Dev

覆盖自定义服务结构应用程序参数

来自分类Dev

将自定义函数应用于数据框

来自分类Dev

Service Fabric 应用程序 - 在应用程序更新时更改实例计数失败

来自分类Dev

Azure Service Fabric中的应用程序设计

来自分类Dev

是否可以在Service Fabric中将应用程序彼此隔离?

来自分类Dev

连接到Azure Service Fabric应用程序

来自分类Dev

Service Fabric 应用程序上的封装

来自分类Dev

在应用程序网关后面预配 Service Fabric

来自分类Dev

如何将自定义ApplicationContextInitializer添加到Spring Boot应用程序?

来自分类Dev

如何将自定义Controltemplate设置为整个应用程序的默认值?

来自分类Dev

将自定义应用程序添加到GNOME启动器

来自分类Dev

将自定义字体导入到SAPUI5应用程序

来自分类Dev

将自定义模块导入到Electron应用程序的renderer.js中

来自分类Dev

将自定义应用程序添加到GNOME启动器

来自分类Dev

无法将自定义模块导入其他应用程序(Django)

来自分类Dev

将自定义 Python 类与 Django 应用程序一起使用

来自分类Dev

无法更改正在由Integromat测试的我的自定义Integromat应用程序的元数据

来自分类Dev

将自定义对象从android应用程序(客户端)发送到计算机(服务器)

来自分类Dev

如何将自定义SSL证书绑定到Service Fabric群集管理终结点?

Related 相关文章

  1. 1

    将自定义元数据嵌入Service Fabric应用程序/服务

  2. 2

    是否可以将自定义服务帐户设置为(ADC)应用程序默认凭据?

  3. 3

    在同一Service Fabric应用程序类型内部署多个服务

  4. 4

    将Service Fabric服务添加到系统应用程序

  5. 5

    Azure Service Fabric指定服务/应用程序启动依赖关系

  6. 6

    Azure Service Fabric - 为多个 3rd 方服务创建应用程序

  7. 7

    Azure Service Fabric 中的应用程序和服务部署

  8. 8

    应用程序崩溃时如何将自定义对象写入数据库?

  9. 9

    将自定义商店注入应用程序

  10. 10

    封装来自应用程序的自定义服务

  11. 11

    覆盖自定义服务结构应用程序参数

  12. 12

    将自定义函数应用于数据框

  13. 13

    Service Fabric 应用程序 - 在应用程序更新时更改实例计数失败

  14. 14

    Azure Service Fabric中的应用程序设计

  15. 15

    是否可以在Service Fabric中将应用程序彼此隔离?

  16. 16

    连接到Azure Service Fabric应用程序

  17. 17

    Service Fabric 应用程序上的封装

  18. 18

    在应用程序网关后面预配 Service Fabric

  19. 19

    如何将自定义ApplicationContextInitializer添加到Spring Boot应用程序?

  20. 20

    如何将自定义Controltemplate设置为整个应用程序的默认值?

  21. 21

    将自定义应用程序添加到GNOME启动器

  22. 22

    将自定义字体导入到SAPUI5应用程序

  23. 23

    将自定义模块导入到Electron应用程序的renderer.js中

  24. 24

    将自定义应用程序添加到GNOME启动器

  25. 25

    无法将自定义模块导入其他应用程序(Django)

  26. 26

    将自定义 Python 类与 Django 应用程序一起使用

  27. 27

    无法更改正在由Integromat测试的我的自定义Integromat应用程序的元数据

  28. 28

    将自定义对象从android应用程序(客户端)发送到计算机(服务器)

  29. 29

    如何将自定义SSL证书绑定到Service Fabric群集管理终结点?

热门标签

归档