先决条件

开始之前,请安装 Service Fabric SDK、Azure CLI,并在 Linux 开发环境中设置开发群集。 如果使用 Mac OS X,则可使用 Vagrant 在虚拟机中设置 Linux 开发环境。

创建应用程序

Service Fabric 应用程序包含一个或多个服务,每个服务都在提供应用程序功能时具有特定角色。 适用于 Linux 的 Service Fabric SDK 包含 Yeoman 生成器,使用它可以轻松创建第一个服务并在以后添加更多服务。 此外,还可使用适用于 Eclipse 的插件创建、生成和部署 Service Fabric Java 应用程序。 请参阅使用 Eclipse 创建和部署第一个 Java 应用程序。 对于本快速入门,使用 Yeoman 创建具有单项服务的应用程序,该服务用于存储和获取获取计数器值。

在终端中,键入 yo azuresfjava。

为应用程序命名。

选择第一个服务的类型并为其命名。 对于本教程,请选择“Reliable Actor 服务”。 有关其他服务类型的详细信息,请参阅 Service Fabric 编程模型概述。

构建应用程序

Service Fabric Yeoman 模板包含 Gradle 的生成脚本,可用于从终端生成应用程序。 若要生成并打包应用程序,请运行以下命令:

bash复制

cd myapp

gradle

部署应用程序

生成应用程序后,可以将其部署到本地群集。

使用 XPlat CLI

连接到本地 Service Fabric 群集。

bash复制

azure servicefabric cluster connect

运行模板中提供的安装脚本可将应用程序包复制到群集的映像存储区、注册应用程序类型和创建应用程序实例。

bash复制

./install.sh

使用 Azure CLI 2.0

部署生成的应用程序时,其方式与部署任何其他 Service Fabric 应用程序相同。 如需详细的说明,请参阅相关文档,了解如何使用 Azure CLI 管理 Service Fabric 应用程序。

这些命令的参数可以在应用程序包内的生成清单中找到。

应用程序部署完以后,请打开浏览器并导航到 Service Fabric Explorer,其地址为 http://localhost:19080/Explorer。 然后,展开“应用程序”节点,注意现在有一个条目是用于应用程序类型,另一个条目用于该类型的第一个实例。

启动测试客户端并执行故障转移

执行组件本身不执行任何操作,它们需要其他服务或客户端向其发送消息。 执行组件模板包含简单的测试脚本,可用于与执行组件服务交互。

使用监视实用工具运行脚本,查看执行组件服务的输出。 测试脚本对角色调用 setCountAsync() 方法来递增计数器,对角色调用 getCountAsync() 方法来获取新的计数器值,并向控制台显示该值。

bash复制

cd myactorsvcTestClient

watch -n 1 ./testclient.sh

在 Service Fabric Explorer 中,找到托管角色服务的主要副本的节点。 在以下屏幕截图中,该节点是节点 3。 主要服务副本处理读写操作。 然后将服务状态更改向外复制到次要副本,该副本在下方屏幕截图的节点 0 和 1 上运行。

在“节点”中,单击上一步找到的节点,然后从“操作”菜单中选择“停用(重启)”。 此操作重启运行主要服务副本的节点,并强制故障转移到在其他节点上运行的其中一个次要副本。 该次要副本将提升为主要副本,并在其他节点上创建另一次要副本,然后主要副本开始执行读/写操作。 节点重启时,请注意来自测试客户端的输出,并注意虽然发生故障转移,但计数器仍继续递增。

删除应用程序

使用模板中提供的卸载脚本可从群集的映像存储区删除应用程序实例、注销应用程序包并删除应用程序包。

bash复制

./uninstall.sh

在 Service Fabric Explorer 中,可看到应用程序和应用程序类型不再显示在“应用程序”节点中。

后续步骤

相关文章

linux java services_在 Linux 上创建第一个 Service Fabric Java 应用程序相关推荐

  1. java在FTP服务器创建文件夹,java在ftp服务器上创建文件夹

    java在ftp服务器上创建文件夹 内容精选 换一换 启动目的端时失败,错误码:SMS.3103,提示迁移失败原因"对目的服务器重新建立引导失败".启动目的端后,系统会重新安装目的 ...

  2. Java毕设项目线上甜品店售卖系统(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目线上甜品店售卖系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(We ...

  3. 用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序

    原文:Your First ASP.NET Core Application on a Mac Using Visual Studio Code 作者:Daniel Roth.Steve Smith  ...

  4. linux firefox applet,在HTTPS上的Firefox中加载Java Applet

    我们开发了一个分析应用程序,它使用特殊的Java小程序(由IBM开发)来查看一些数据.这是一个在Apache上运行的Django应用程序.一切工作正常,直到我们转移到SSL.这种行为非常奇怪,我们感到 ...

  5. github上创建了一个rtklib improve开源项目

    文章目录 开源目的 目前的工作 使用 写在最后 - 欢迎加入 开源目的 鉴于rtklib的巨大的时间更新间隔,作者在github上fork了一个仓库,初步用于以下目的, 修复代码中的bug/issue ...

  6. java通过ftp方式上传_通过FTP以Java方式上传文件

    我试图开发一个简单的java代码,它将一些内容从本地机器上传到服务器/另一台机器.我使用下面的代码 import sun.net.ftp.*; import java.io.*; public cla ...

  7. 如何在MacOS上创建第一个iOS Flutter应用

    文章目录 1.安装Flutter 2.设置iOS模拟器 3.在Flutter中创建一个Hello World应用 Google于2018年12月4日发布了Flutter 1.0,它是一款功能强大的工具 ...

  8. 在没有任何前端开发经验的基础上, 创建第一个 SAP Fiori Elements 应用

    这是 Jerry 2021 年的第 26 篇文章,也是汪子熙公众号总共第 297 篇原创文章. 本文绝非标题党. Jerry 前一篇文章 SAP Cloud Application Programmi ...

  9. 在 BSV 上创建你的第一个零知识证明程序

    ZoKrates 是 zkSNARKs 的工具箱,隐藏了零知识证明 (ZKP) 固有的显着复杂性.它为开发人员提供了一种类似于 python 的高级语言来编写他们想要证明的计算问题. 我们扩展了它,使 ...

最新文章

  1. android源代码 abi,Android内核源码Abi目录学习笔记
  2. 机器学习中的聚类算法(2):Mean Shift算法
  3. 【C++】const讲解
  4. Python中的高阶函数filter
  5. Rime在linux下面的安装-还没写完
  6. PHP ERROR_PHP 处理错误函数
  7. mysql5.7物理备份_Mysql5.7—运维常用备份方式
  8. c语言实验数据类型体会,实验1-C语言开发环境使用和数据类型、运算符、表达式-实验总结与体会...
  9. Linux下处理BOM头和^M的简单方法
  10. 11. PHP 运算符
  11. C# pictureBox显示图像 自动调整大小 缩放自适应 画图位置自适应
  12. ADF12C UI根据row重定位VO的当前行
  13. Linux环境下编译运行大型C语言项目
  14. (IoT物联网)天线的设计步骤 - 完整收藏版
  15. 今日只为你狂欢-----JAVA线程总结(零基础入门)
  16. 印章如何去蜡_文社100:火漆印章的火漆蜡要怎么使用
  17. uni-app 官方组件使用
  18. (3)mifare卡读写器开发心得『转』--整理重发贴
  19. pythondictrunoob_Python3 字典 | 菜鸟教程
  20. JSP精品课程网站的设计与实现

热门文章

  1. UVA11825 黑客的攻击 Hackers' Crackdown 状压DP,二进制,子集枚举
  2. 从零开始实现一个简易的Java MVC框架(六)--加强AOP功能
  3. jQuery知识简介
  4. session:的生命周期
  5. Lotus Notes中文档查询的研究与实践
  6. PHP函数篇之掌握ord()与chr()函数应用
  7. 案例二十、自动化运维-代码上线
  8. 网络犯罪分子为何针对中小企业?—Vecloud微云
  9. 当您访问未加密的HTTP网站时,谁能看到您的数据?—Vecloud微云
  10. CentOS系统设置开机自启动