前言:

最近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引擎中MyISAM和InnoDB的区别有哪些?

    简单的概括一下 InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和 ...

  2. 如何通过SpringBoot官方手册集成RabbitMQ

    众所周知,SpringBoot是对Spring的一层封装,用来简化操作. 随着SpringBoot的越发成熟,很多的流行技术都提供了SpringBoot的版本. 可以点击下方的连接查看spring-b ...

  3. logback KafkaAppender 写入Kafka队列,集中日志输出.

    为了减少应用服务器对磁盘的读写,以及可以集中日志在一台机器上,方便使用ELK收集日志信息,所以考虑做一个jar包,让应用集中输出日志 网上搜了一圈,只发现有人写了个程序在github 地址:https ...

  4. Pymongo一些常见需求(陆续补充)

    总结一下最近包括之前遇到的一些pymongo操作的问题. #需求1: 搜索文档数组里边是否存在某元素 数据: data1 = { '_id': xxxxxxxxxxxxxx, 'dataList': ...

  5. scrapy学习总结

    1.为了配合XPath,Scrapy除了提供了 Selector 之外,还提供了方法来避免每次从response中提取数据时生成selector的麻烦 Selector有四个基本的方法(点击相应的方法 ...

  6. Storm实践

    1.Storm命令 在Linux中观直接输入Storm,不带任何参数信息,可以查看Storm命令. 参考这里 1.  activate 激活指定的拓扑Spout.语法:storm activate t ...

  7. javascript 学习笔记 三大特性

    <script type="text/javascript"> //封装 function Person (name,age,sal){ this.name=name; ...

  8. dojo加载树报错

    1.错误描述    error loading undefined children.    TypeError:this._arrayOfTopLevelItems is undefied. 2.错 ...

  9. FFMPEG:压缩之H264编码(YUV420P->H264)

    720*576@25hz,550帧的yuv420p数据,编码时间13.3秒. void CTest0Dlg::OnButton5() { // TODO: Add your control notif ...

  10. 我们web前端常用的一些Array对象及应用

    1. Array.filter() filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素. ES6: 2.Array.prototype.find() find() 方法返 ...