1、什么是Service Febric

贴一段微软官方的介绍

Service Fabric 是一种分布式系统平台,可让你轻松打包、部署和管理可缩放、可靠的微服务。Service Fabric 还解决了开发和管理云应用程序中的
重大难题。开发人员和管理员不仅可以避免解决复杂的基础结构问题,而且可以专注于实现可扩展、可靠且易于管理的所需的任务关键型工作负荷。Service Fabric代表用于生成和管理这些企业级的一级云规模应用程序的下一代中间件平台。

或许这个简介还是没办法清晰的明白Service Fabric究竟是做什么用的,可以用于解决什么问题,若是我来介绍我可能更愿意将其比喻为服务容器,如同Docker一样的容器,只不过它可以说是专门作为微服务平台而诞生,不仅支持跨平台部署集群也可以部署包含.Net,Java,Python,Nodejs等其他类型应用,它还提供了全面的应用程序管理功能,用于设置、部署、监视、升级/修补和删除部署的应用程序,更多介绍可以参考官方文档

2、开发环境准备

支持使用以下操作系统版本进行开发:

Windows 7
Windows 8/Windows 8.1
Windows Server 2012 R2
Windows 10

首先安装如下两个安装文件
Servie Fabric Tools For Visual Studio 2015
Service Fabric SDK

因为Service Fabric项目的部署和升级是基于PowerShell的,因此需要执行如下命令用于执行PowerShell脚本。

使用管理员打开PowerShell,执行如下命令。
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope CurrentUser

更详细的参考设置Service Fabric开发环境

3、创建Web API类型的Service Fabric 项目

在完成第二步的安装之后,打开Visual Studio 2015,选Visual C# > Cloud > Service Fabric应用程序 > 确定 > 无状态Web API > 确定。


我们观察一下创建出来的项目,发现实际上是一个控制台项目,用的SelfHost方式实现的WebAPI,

4、运行项目

在第二步安装好SDK之后,在应用程序中找到 Service Fabric Local Cluster Manager 并打开,然后点击 Start local cluster

回到vs直接F5就可以调试项目了,通过观察输出,不难发现实际上在我们调试的时候vs先使用项目内的脚本Deploy-FabricApplication.ps1来做本地集群部署,让后将应用发布到本地集群,我们通过Service Fabric Local Cluster Manager 点击 Manage Local Cluster 打开本地集群的页面,可以看到我们的应用已经部署上去了。

WebAPI项目的端口是设置在项目目录下PackageRoot文件夹的ServiceManifest.xml文件内,如图

在集群上的节点也能看到对应的地址

我们调用一下该地址的接口,可以看到数据正确返回

Azure Service Febric 笔记:Web API应用的更多相关文章

  1. windows service承载的web api宿主搭建(Microsoft.Owin+service)

    今天突然想起改良一下以前搭建的“windows service承载的web api”服务,以前也是直接引用的类库,没有使用nuget包,时隔几年应该很旧版本了吧.所以本次把需要nuget获取的包记录一 ...

  2. Web Service ,WCF以及Web API的对比

    Web Service 1.基于SOAP和XML形式的返回数据. 2.只支出HTTP协议. 3.只能运行在IIS环境下. 4.不是开源的,但可以由任何支持xml的客户端下使用. WCF 1.基于SOA ...

  3. 《ASP.NET MVC4 WEB编程》学习笔记------Web API 续

    目录 ASP.NET WEB API的出现缘由 ASP.NET WEB API的强大功能 ASP.NET WEB API的出现缘由 随着UI AJAX 请求适量的增加,ASP.NET MVC基于Jso ...

  4. 《ASP.NET MVC4 WEB编程》学习笔记------Web API

    本文截取自情缘 1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集 ...

  5. ASP.NET MVC Web API 学习笔记---Web API概述及程序示例

    1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...

  6. Asp.net core 学习笔记 ( Web Api )

    asp.net core 把之前的 webapi 和 mvc 做了结合. mvc 既是 api. 但是后呢,又发现, api 确实有独到之处,所以又开了一些补助的方法. namespace Proje ...

  7. windows service宿主web api使用"依赖注入"和“控制反转”的技术实践

    前言 自从几年前抛弃wcf,使用web api 来做服务器端开发之后,就不再迷惑了.但是因为本来从事传统行业管理软件开发,一般都以分布式应用开发为主.纯BS还是比较少,于是比较喜欢用windows s ...

  8. web service, wcf, wcf rest, web api之间的区别

    在.NET Framework中,有很多种技术可以创建基于http协议的服务,譬如说web service, wcf,wcf rest和web api等等.网上有很多的文章教我们如何开发.使用这几种技 ...

  9. web API的概念

    11月20日 纷乱的术语 接口:从接口测试说起,接口是某个对象和外界交互的部分,应用程序可能有很多接口. 用户界面UI(user interface) 消息交互接口,外界是其他程序:diameter, ...

随机推荐

  1. CSS3动画制作

    CSS3动画制作 rotate 绕中心旋转 fadeInPendingFadeOutUp 先渐现,停留2s,再向上滑动并逐渐消失 fadeInUp2D 向上滑动并渐现, 因Animate.css的fa ...

  2. 餐厅点餐系统app总结

    总结: 三个冲刺已经结束,虽然没有说十分完美,但该实现的功能还是实现了,只是在市场是相较于专业性的缺乏竞争力,从界面到体验都需进一步优化. 每个人的进度不一样,为了同一个任务需要不断的磨合与合作,但慢 ...

  3. 使用MonkeyTest对Android客户端进展压力测试

    Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试. 先来看一条 ...

  4. IDE-Sublime【3】-配置Node.js开发环境

    一.下载Nodejs插件,下载地址为https://github.com/tanepiper/SublimeText-Nodejs,解压到当前文件夹,改名为Nodejs 二.打开Sublime Tex ...

  5. 一致性hash算法详解

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179     一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT) ...

  6. C++ win32线程数上限

    hThread = CreateThread( NULL,  0,  WorkerFunction,  &threadParm,  0, &dwThreadID  ); 这样的创建方法 ...

  7. C++: Perfect Forwarding

    Link: Rvalue References and Perfect Forwarding in C++0x (https://www.justsoftwaresolutions.co.uk/cpl ...

  8. “LC.exe”错误

    错误“LC.exe”已退出,代码为 -1. 可能的原因是: 这个第三方组件是个商业组件,他在组件的主使用类定义了 LicenseProvider(typeof(LicFileLicenseProvid ...

  9. android shape的使用(转)

    shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下: <?xml version="1.0" encoding="ut ...

  10. MYSQL删除重复数据

     delete from co_jobinformation cwhere c.name in (select cc.name from co_jobinformation cc group by   ...