Service Fabric - 快速一瞥

       Service Fabric2018年3月19日的这一天,微软选择将其开源,微软称呼它为分布式系统平台,我们接下来看看这个分布式系统平台能做些什么。

       首先 Service Fabric 定位是一个“分布式系统平台”,意思就是说,它是用来写其他的分布式系统的,比如可以很容易写个Zookeeper、分布式Redis或者分布式数据库,更重要的是能够编写分布式服务。

       其次,它在协助开发人员编写分布式服务的基础上,还包办了打包、部署和伸缩微服务应用,并且提供了编程模型以支持Cloud-Native来设计微服务的,进而支撑从本机服务成长到包含数千节点的大规模服务。

       最后 Service Fabric 为应用提供了全面的运行时和生命周期管理,不仅如此还提供了面向运维的开放接口,能够使第三方使用这些接口去定制化自身的运维工具,以 Service Fabric 为核心打造不同平台下一致的开发运维体验。

目前从开源 Service Fabric 的文档来看,中文存在机翻的嫌疑
Java 客户端大部分的source包是没有提供的,在没有doc的帮助下很难理解
在后面的示例中会依赖so包,这些内容也没有真实开源,而微软的官方说法是预览

本地安装 Service Fabric

       Service Fabric 是平台无关的分布式系统平台,因此可以运行在大多数系统上,目前可以部署的系统主要包括UbuntuMacWindows7以上环境,Mac下安装会有一些限制,因此选择在Ubuntu环境下部署使用。

Mac上主要采用Docker镜像方式驱动 Service Fabric , 更偏向开发测试,笔者更希望登录系统直接命令操纵 Service Fabric,因此以下安装环境均在Ubuntu 16.04下运行

       微软提供了一个脚本,可以设置安装软件源并安装 Service Fabric , 该脚本用于连同 sfctl CLI 一起安装 Service Fabric 运行时和 Service Fabric 通用 SDK。 在以下部分中运行手动安装步骤,以确定正在安装的组件以及同意的许可证。 运行该脚本即认为你同意所要安装的所有软件的许可条款。

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh | sudo bash

       安装完成后,运行群集安装程序脚本。

sudo /opt/microsoft/sdk/servicefabric/common/clustersetup/devclustersetup.sh

       在执行这个命令之后, Service Fabric 运行时将会作为系统服务并在系统启动后自动运行。通过sudo service servicefabric restart可以完成运行时重启,这点在其出现问题时可以有效解决。

微软的产品秉承了出现问题通过重启可以解决的优良传统,笔者在部署一个有状态服务出现问题时,始终无法删除该应用,当通过重新安装和重启后,得以修复

       如果成功运行,可以尝试访问http://yourIP:19080/Explorer/index.html,会看到类似如下界面:

       Service Fabric 对应用的部署结构有要求,因此需要安装一些工具协助生成这些文件,这个过程实际类似 spring initializer 或者 jboss-forge,任何云厂商都有一个高效简洁的应用部署搭建工具,将用户的应用能够适配到自己云上的部署环境。

sudo apt-get install npm
sudo apt install nodejs-legacy
sudo npm install -g yo
sudo npm install -g generator-azuresfcontainer
sudo npm install -g generator-azuresfguest

       安装生成器后,应该可以分别运行 yo azuresfguestyo azuresfcontainer,创建部署工程或容器服务。到现在为止,我们只会使用到yo azuresfguest

一个简单的SpringBoot应用

       以下示例可以在ciao-springboot-web中找到,ciao是意大利语中打招呼的意思,中文音近似 ciao-springboot-webService Fabric 没有任何关系,但是我们将它尝试部署到其中,体会一下 Service Fabric

       创建HelloController,访问该url直接输出本机的信息,包括启动的时间,这个我们可以在多实例部署后看到不同的数值。

@Controller
@RequestMapping("/html")
p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WeiPeng2K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值