前言:

最近ServiceFabric开源了,大家热情都比较高,官方文档大而全,但快速入手不容易找到头绪。发几篇极简的文档,跟大家分享一下,顺便为Ray的ServiceFabric部署做一下铺垫。因为这几篇主要是工作中用到的笔记,可能会非常简单。

正文:

Azure Service Fabric

是一款分布式系统平台,可方便用户轻松打包、部署和管理可缩放的可靠微服务和容器。 Service Fabric 还解决了开发和管理云本机应用程序面临的重大难题。 开发人员和管理员不仅可以避免复杂的基础结构问题,而且可以专注于实现可缩放、可靠且可管理的要求苛刻的任务关键型工作负荷。 Service Fabric 代表了下一代平台,用于生成和管理在容器中运行的企业级单层云规模应用程序。

由微服务组成的应用程序

利用 Service Fabric,可以生成和管理可缩放的可靠应用程序,其中包括在计算机的共享池(称为“群集”)中高密度运行的微服务。 它提供了复杂的轻型运行时,用于生成在容器中运行且可缩放的无状态和有状态分布式微服务。 它还提供了全面的应用程序管理功能,用于预配、部署、监视、升级/修补和删除已部署的应用程序(包括容器化服务)。

Service Fabric 为当今很多 Microsoft 服务提供技术支持,包括 Azure SQL 数据库、Azure Cosmos DB、Cortana、Microsoft Power BI、Microsoft Intune、Azure 事件中心、Azure IoT 中心、Dynamics 365、Skype for Business 以及其他许多核心 Azure 服务。

Service Fabric 专为创建云端本机服务而定制,这些服务可以根据需要从小规模开始,并成长为包含数百或数千台计算机的大规模服务。

当今的 Internet 规模的服务是使用微服务构建而成的。 微服务的例子包括协议网关、用户配置文件、购物车,清单处理、排队和缓存等。 Service Fabric 是微服务平台,为每个无状态或有状态微服务(或容器)命名独一无二的名称。

Service Fabric 为由这些微服务组成的应用程序提供全面的运行时和生命周期管理功能。 它在 Service Fabric 群集间部署和激活的容器内部托管微服务。 从虚拟机移动到容器可能使密度出现数量级增长。 同样,如果从容器迁移到这些容器中的微服务,也可能会出现另一个密度数量级。 例如,单个 Azure SQL 数据库群集包含数百台计算机,这些计算机运行数以万计的容器,而这些容器总共托管数十万个数据库。 每个数据库都是一个 Service Fabric 有状态微服务。

有关微服务方法的详细信息,请阅读微服务方法为什么可以生成应用程序?

容器部署和业务流程

Service Fabric 是 Azure 推出的跨计算机群集部署微服务的容器 Orchestrator。 微服务的开发方法有多种,包括使用 Service Fabric 编程模型、ASP.NET Core 或部署任意选定代码。 重要的是,可以在同一应用程序中混合使用进程中的服务和容器中的服务。 如果只需要部署和管理容器,Service Fabric 是容器 Orchestrator 理想之选。

不限 OS 和云

Service Fabric 可以在所有环境中运行。 可在许多环境(包括在 Azure 中或本地、在 Windows Server 或 Linux 上)中创建 Service Fabric 群集。 甚至可以在其他公有云上创建群集。 此外,SDK 中的开发环境与生产环境完全相同,都不涉及模拟器。 也就是说,在本地开发群集上运行的内容会部署到其他环境中的群集。

对于 Windows 开发,Service Fabric .NET SDK 与 Visual Studio 和 Powershell 集成。 请参阅在 Windows 上准备开发环境。 对于 Linux 开发,Service Fabric Java SDK 与 Eclipse 集成,Yeoman 用于为 Java、.NET Core 和容器应用程序生成模板。 请参阅在 Linux 上准备开发环境

有关在本地创建群集的详细信息,请阅读在 Windows Server 或 Linux 上创建群集。有关创建 Azure 群集的详细信息,请阅读通过 Azure 门户创建群集

无状态和有状态 Service Fabric 微服务

使用 Service Fabric,可以生成包含微服务或容器的应用程序。 无状态微服务(例如网关、Web 代理)不维护除请求及其来自服务的响应之外任何可变状态。 Azure 云服务辅助角色是无状态服务的一个示例。 有状态微服务(例如,用户帐户、数据库、设备、购物车、队列)维护除请求及其响应之外的可变、授权状态。 当今的 Internet 规模应用程序包含无状态和有状态微服务的组合。

Service Fabric 的关键区别在于,大力注重使用内置编程模型或容器化有状态服务生成有状态服务。 应用程序方案介绍了可使用有状态服务的方案。

应用程序生命周期管理

Service Fabric 支持包含容器的云应用程序具有完整的应用程序生命周期和采用 CI/CD。 生命周期包括从开发到部署、到日常管理和维护,再到最终解除授权。

借助 Service Fabric 应用程序生命周期管理功能,应用程序管理员和 IT 操作人员能够使用低接触的简单工作流预配、部署、修补和监视应用程序。 这些内置的工作流极大地减少了 IT 操作人员保持应用程序持续可用的负担。

大多数应用程序都包含无状态和有状态微服务、容器以及同时部署的其他可执行文件。 通过在应用程序上采用强类型,可以使用 Service Fabric 部署多个应用程序实例。 每个实例将单独进行管理和升级。 重点是,Service Fabric 能够部署容器或任何可执行文件,并确保它们的可靠性。 例如,Service Fabric 可部署 .NET、ASP.NET Core、node.js、Windows 容器、Linux 容器、Java 虚拟机、脚本、Angular 或应用程序的其他任何组成部分。

Service Fabric 与 Visual Studio Team ServicesJenkinsOctopus Deploy等 CI/CD 工具集成,并可与其他任何常用 CI/CD 工具配合使用。

有关应用程序生命周期管理的详细信息,请阅读应用程序生命周期。 若要详细了解如何部署任意代码,请参阅部署来宾可执行文件

关键功能

通过使用 Service Fabric,可以:

  • 部署到 Azure 或部署到运行 Windows 或 Linux 的本地数据中心,而无需改变任何代码。 编写一次,即可随处部署到任何 Service Fabric 群集。
  • 使用 Service Fabric编程模型、容器或任意代码,开发由微服务组成的可缩放应用程序。
  • 开发高度可靠的无状态和有状态微服务。使用有状态微服务,简化应用程序设计。
  • 使用新 Reliable Actors 编程模型,创建具有独立式代码和状态的云对象。
  • 部署和安排容器,包括 Windows 容器和 Linux 容器。 Service Fabric 是可感知数据的有状态容器 Orchestrator。
  • 几秒内就可以高密度部署应用程序,即每台计算机部署数百或数千个应用程序或容器。
  • 同时部署同一应用程序的不同版本,并单独升级每个应用程序。
  • 无需停机,即可管理应用程序生命周期,包括重大升级和非重大升级。
  • 缩放群集中的节点数。 缩放节点数的同时,应用程序也会随之自动缩放。
  • 监视并诊断应用程序的运行状况,并设置策略以执行自动修复。
  • 观察资源均衡器如何跨群集安排重新分发应用程序。 Service Fabric 可从故障中恢复,并基于可用资源优化负载分布。

原文地址:https://docs.azure.cn/zh-cn/service-fabric/service-fabric-overview

ServiceFabric极简文档-0. ServiceFabric简介的更多相关文章

  1. ServiceFabric极简文档-1.0 Service Fabric 自定义集群部署

    Service Fabric 部署集群:https://docs.microsoft.com/zh-cn/azure/service-fabric/service-fabric-get-started ...

  2. ServiceFabric极简文档-5.0 Service Fabric有状态与无状态

    Service Fabric 应用程序方案 2017/08/14 作者 Edward Chen Jack Zeng Azure Service Fabric提供了一个可靠而灵活的平台,可用于编写和运行 ...

  3. ServiceFabric极简文档-4.0 开发环境搭建

    1. VS2017安装包启动页,安装Azure.(安装的VS的Tool)2. 下载Service Fabric Web PI,安装Service Fabric(自动安装SDK与Runtime)

  4. ServiceFabric极简文档-1.1 附属文件:规划和准备 Service Fabric 独立群集部署

    准备好要充当节点的计算机 下面是要添加到群集的每台计算机的建议规格: 至少 16 GB RAM 至少 40 GB 可用磁盘空间 4 核或更高规格的 CPU 所有计算机与安全网络连接 Windows S ...

  5. ServiceFabric极简文档-3. 发布脚本

    web: Trap { Write-Host $_.Exception.Message; Continue }; Connect-ServiceFabricCluster Remove-Service ...

  6. ServiceFabric极简文档-2 部署环境搭建-配置文件

    类型:ClusterConfig.Unsecure.MultiMachine 说明:至少3台机子 { "name": "SampleCluster", &quo ...

  7. ServiceFabric极简文档-5.1 编程模型选择

    项目中:actor用的服务是无状态服务:ASP.NET Core用的是无状态ASP.NET Core模板. ​

  8. ServiceFabric极简文档-4.1 学习路线图

    Service Fabric学习路线图 原文地址:Service Fabric学习路线图 ​

  9. ServiceFabric极简文档-1.3删除群集

    删除群集 若要删除群集,请运行包文件夹中的 RemoveServiceFabricCluster.ps1 Powershell 脚本,并传入 JSON 配置文件的路径. 可以选择性地指定删除日志的位置 ...

随机推荐

  1. MySQL的常见存储引擎介绍与参数设置调优

    MySQL常用存储引擎之MyISAM 特性: 1.并发性与锁级别 2.表损坏修复 check table tablename repair table tablename 3.MyISAM表支持的索引 ...

  2. 修改Cosbench源码 支持s3的 http range request 测试场景

    在视频点播的业务应用场景中,用户使用了ffmpeg工具做视频实时转码用. 而ffmpeg使用range 请求.而Cosbench不支持这种测试场景,所以需要修改源码支持这种测试场景. HTTP 协议介 ...

  3. java 集合框架(四)Set

    一.概述 Set是一种没有重复元素的集合,它所有的方法都是直接继承自Collection接口,并且添加了一个对重复元素的限制.Set要求强化了equals和hashCode两个方法,以使Set集合可以 ...

  4. 5_Longest Palindromic Substring(Manacher) --LeetCode

    参考:https://www.felix021.com/blog/read.php?2040,https://segmentfault.com/a/1190000002991199 做了修改. 首先用 ...

  5. 浏览器通过Scheme协议启动APP中的页面

    在APP开发过程中,通过外部浏览器调起APP页面的场景也很普遍使用.下面就介绍一下通过外部H5页面唤起APP中页面的通用方法. 1.首先需要在AndroidMainifest.xml中对你要启动的那个 ...

  6. GM8180启动过程调试

    1.     burnin下的boot.s    0:    boot start        1 ;   1:    Init SMC configuration OK ;   2:    Ini ...

  7. ActiveMQ安装及启动

    最近项目组遇到MQ的问题(项目组用的IBM MQ),突然想回来看看MQ.本来就不是太熟练,闲来无事写写看看. 不多说,首先是安转ActiveMQ,官方网址:http://activemq.apache ...

  8. ip2long的用法

    ip2long:将IPv4的ip地址(以小数点分隔形式)转换为int Description int ip2long ( string ip_address ) 如果ip地址非法,返回FALSE(PH ...

  9. 【mongodb系统学习之二】mongodb的启动

    二.mongodb的启动: 1.在mongodb2.6.9的文件夹中建立data目录.logs目录以及   logs目录下的mongodb.log文件,如图: 2.进入到mongodb的bin目录中执 ...

  10. 为什么选择Netty作为基础通信框架?

    在开始之前,我先讲一个亲身经历的故事:曾经有两个项目组同时用到了NIO编程技术,一个项目组选择自己开发NIO服务端,直接使用JDK原生的API,结果两个多月过去了,他们的NIO服务端始终无法稳定,问题 ...