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. java中Map和List初始化的两种方法

    第一种方法(常用方法): //初始化List List<string> list = new ArrayList</string><string>(); list. ...

  2. 使用CocoaPods过程中 Unable to find a specification for

    文章转自:http://blog.csdn.net/zhangao0086/article/details/39703083 当把CocoaPods生成的workspace移动到上层目录时,需要改下P ...

  3. codeforces346 Div.2 A.Round House

    课间水一水,CCF备战 package com.company.cf346; import java.io.InputStreamReader; import java.util.Scanner; / ...

  4. Web Api 模型验证

    1.模型建立,在模型上类上添加System.ComponentModel.DataAnnotations验证属性 public class Product { public int Id { get; ...

  5. Mysql在windows系统下的配置

    因为项目测试需求,不得不在本地装一个Mysql才能更方便地进行程序调试,整个过程虽然简单,但也遇到了一点麻烦,所以贴出来当是备忘. 这里采用MySQL Community Server  5.7.12 ...

  6. unity 利用ugui 制作技能冷却效果

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...

  7. OSGEarth编译

    解决OSGEarth编译时出现error LNK1181: 无法打开输入文件“optimized.lib的问题 以下方案受到了osg大神qq网名为“阿威.小号”的帮助. 在采用Cmake3.6.2创建 ...

  8. spring和Hibernate整合

    首先导入spring和Hibernate的jar包,以及JDBC和c3p0的jar包, 然后就是Hibernate的XML配置文件,不需要加入映射文件,这里用spring容器管理了. Hibernat ...

  9. xcode8控制台输出很多日志

    解决方法:command + shift + <,在环境变量里添加图中字段就行了.

  10. 谷歌浏览器允许ajax跨域以非安全模式打开

    最近使用ajax的时候,因为是在本地测试调用 后台时一直会报错. 解决方案:用谷歌浏览器 以非安全的模式打开 在cmd命令行中 cd 到谷歌的安装目录下 (右键 属性 复制路径) 然后在 运行如下命令 ...