Azure Service Fabric Mesh:一个构建任务关键型微服务的平台

本文要点

  • Azure Service Fabric Mesh(目前处于预览阶段)是一个完全托管的服务,它使你可以使用“无服务器”方法构建、部署和管理由运行在容器中的多语言服务组成的应用程序。

  • Azure Service Fabric Mesh 通过使用 Envoy Proxy 构建的软件定义网络(SDN)功能提供了智能消息路由,使得服务发现和微服务之间的路由成为可能。

  • Azure Service Fabric 有三项公共服务:Service Fabric Azure 集群服务、Service Fabric 独立服务和 Azure Service Fabric Mesh 服务。

  • Service Fabric Mesh 主要是一个应用程序平台,它首先从终端工程师那里抽象出了业务流程,然后添加了可以供你在应用程序中使用的智能消息传递路由和存储。

  • Service Fabric 平台有一个内置的、高可用的、低延迟的内存内持久化状态存储。你可以通过编程式数据结构(Dictionary 和 Queues)使用这个存储,或作为附加的卷磁盘使用。

今年早些时候,Azure 发布了Service Fabric Mesh的预览版,这个平台面向的是那些不希望承担运行底层编排平台操作责任的微服务开发人员。Chacko Daniel是微软的首席技术经理,同时也是 Service Fabric Azure 集群服务和 Azure Service Fabric Mesh 服务的所有者。最近,InfoQ 对他进行了采访,探讨了这项服务与现有的平台即服务(PaaS)和容器基础设施即服务(CIaaS)解决方案(如 Cloud Foundry 何 Kubernetes)的关系。

InfoQ:欢迎来到 InfoQ!您能向我们的读者简单地介绍下自己吗?

Chacko:我叫 Chacko Daniel,是微软 Azure 超大规模计算团队的首席项目经理。我已在 Azure Service Fabric 团队工作了 10 年。我是平台运行时和 Service Fabric Clusters 与 Service Fabric Mesh 两项 Azure 服务的服务所有者。

InfoQ:您能否为不太熟悉云技术的读者解释一下 Azure Service Fabric 是什么?

Chacko:AzureAzure Service Fabric 是一个分布式计算平台,它使构建、部署和操作始终处于开启状态的任务关键型微服务应用程序(容器化和非容器化)变得更容易。开发人员可以专注于构建微服务,而 Service Fabric 平台解决了诸如应用程序的生命周期管理、编排、可用性和可伸缩性等难题。
该平台还具有内置的、高可用的、低延迟的持久化内存内状态存储。开发人员可以通过编程式数据结构(Dictionary 和 Queues)使用这个存储,或作为附加的卷磁盘使用。
Azure Service Fabric 是开源的,可以在 Windows 和 Linux 上运行,你既可以在本地使用它,也可以在云中使用它——这是一个很棒的混合解决方案,可以支持要求很高的“原生云”应用程序。
Azure Service Fabric 有三项公共服务:Service Fabric Azure 集群服务、Service Fabric 独立服务和 Azure Service Fabric Mesh 服务。

640?wx_fmt=jpeg

Service Fabric 不仅可以供大规模的微软服务使用,如 Azure SQL DB、Intune、Azure Cosmos DB、Azure Event Hubs 和 Bing,也可以供成千上万的企业客户使用,如 Citrix Systems、Alaska Airlines、Honeywell、BMW 和 Societe Generale 以及 SI(系统集成商)&ISV(独立软件供应商,如 Accenture 和 OSISoft)。

InfoQ:新的 Azure Service Fabric Mesh 与 Azure Service Fabric Clusters 有何不同?

Chacko:我们在 Azure 中提供了两种 Service Fabric 服务——Service Fabric Clusters 和 Service Fabric Mesh(预览版),用于在 Azure 中部署和管理应用程序。
Service Fabric Cluster 为你提供了一个可靠的、可伸缩的 VM 集群,这些 VM 运行着 Service Fabric 运行时,你可以通过一个高可用的集群端点向其中部署和管理应用程序 / 服务(容器化或非容器化)。Service Fabric 运行时基于它与底层 Azure 基础设施的集成来做出服务配置决策,保证它们的可靠性。
在使用 Azure Service Fabric Clusters 时,你不仅需要以管理员身份访问集群,还需要访问组成集群的 VM。你可以选择使用 VM SKU 来满足你的要求,你可以决定要根据哪些网络安全规则和自动伸缩规则来伸缩集群。你可以设置 Service Fabric 运行时和 VM 操作系统自动升级。借助这个服务,你只需为使用的 VM、存储和网络资源付费,Service Fabric 运行时实际上是免费的。它非常适合需要完全控制基础设施的客户 /ISV。
Azure Service Fabric Mesh 目前处于预览阶段,它是一个完全托管的服务,它使你可以使用“无服务器”方法构建、部署和管理由运行在容器中的多语言服务(例如任何语言、任何操作系统)组成的应用程序。开发人员只需要指定他 / 她的应用程序 / 服务所需的资源,如容器的数量、容器的大小、网络属性、自动伸缩规则等,系统负责提供和管理所需的基础设施。这种方法使得开发人员可以只关注应用程序 / 服务,而不是基础设施。
Service Fabric Mesh 还通过软件定义网络(SDN)功能(基于Envoy Proxy构建)提供智能消息路由,简化了服务发现和微服务之间的路由。在即将到来的预览更新中,我们计划启用其他 SDN 功能,如断路器、重试、SSL 终止、蓝 / 绿部署以及使用托管服务标识简化安全。这里,你可以使用我前面提到的由 Service Fabric 提供的有状态功能。这里有一个关于 Service Fabric Mesh 的 2 分钟的视频,它汇总介绍了这里的部分信息。

InfoQ:Azure Service Fabric Mesh 与一些读者可能熟悉的技术,例如 Cloud Foundry、Kubernetes 或 Docker(通过 Docker Compose 配置),是什么关系?

Chacko:所有这些技术都非常类似,它们都编排或部署容器。Azure 支持你提到的所有平台,所以你可以使用自己喜欢的技术栈。
至于其他 Service Fabric 服务,借助于 Service Fabric Mesh,我们将继续致力于成为一个应用程序平台,首先抽象出所需的容器编排,并添加可以在应用程序中使用的智能消息传递路由和存储。你可以使用一组声明性策略部署和管理自己的应用程序,这些策略包括你需要的容量和网络、你希望如何伸缩、路由消息、管理证书,平台不仅将编排容器,还将负责管理基础设施并运行它。
在使用 Service Fabric Mesh 时,除非你查看平台日志,否则你甚至不知道 Service Fabric 是为服务提供支撑的底层平台,就像你不知道 Service Fabric 在 Azure 数据库和其他服务中使用一样。它使开发人员不必考虑编排器和其他低层管理服务。

InfoQ:您能介绍下 Service Fabric 平台的可伸缩性吗

Chacko:尽管我们在内部运行了大量的测试,使用人工工作负载在内部对服务施加压力,但是,我将从实证方面来回答这个问题。大多数流行的 Azure 服务都使用了 Service Fabric 平台,比如 Cosmos DB、IOT Hub、Event Hub、Azure SQL DB、Intune、Event Grid。每个 Azure SQLDB 事务在 Service Fabric 中都是一个复制操作,Azure 中有数百万个 SQL DB。每个 CosmosDB 写也是一个类似的复制操作,EventHub 使用 Service Fabric 每天处理 2 万亿条消息,诸如此类。大多数人 / 公司都太可能需要超过 Azure 中这些使用数百万核的大型服务的规模。
该平台不仅具有高度可伸缩性,而且还提供零停机应用程序滚动升级、安全性、内置的健康监控、跨地域集群的能力等等。*这里* 有一段 Mark Russinovich 的演讲视频,他是 Azure 的 CTO,他展示了 Service Fabric 的伸缩和部署速度。在不到两分钟的时间里,他在 3500 个节点的 Linux 集群上部署和运行了 100 万个容器。
Service Fabric 是一项每天都要经过实战测试的技术。

InfoQ:服务网格是当前一个热门的新兴话题吗?名称有点类似,那么 Azure Service Fabric Mesh 与 Linkerd、Istio 和 Cilium 等服务网格技术是什么关系呢?

Chacko:服务网格是关于连接服务和实现网络原语的,包括服务发现和快速、安全、可靠的服务到服务通信。Linkerd、Envoy 和 Cilium 是网络代理,它们可以作为服务网格部署在 Kubernetes 或 Service Fabric 之类的编排器上。Istio 等项目则允许你连接、保护、控制和观察服务,并使用 Envoy 提供了第 7 层(L7)网络功能。
Azure Service Fabric Mesh 还允许你连接、部署、保护和管理服务,并在底层使用 Envoy 为 Windows 和 Linux 容器提供 L7 功能。然而,它不仅仅是一个服务网格——它是一个构建、部署、扩展和操作基于微服务的应用程序的应用程序平台。

InfoQ:Azure 平台提供了一系列部署选项——Azure Service Fabric Mesh 的主要用例是什么?我为什么要选择在这里构建和部署,而不是另一个 Azure 产品上,比如 AKS 或 Azure Functions?

Chacko:Azure 提供了多种计算选项来满足不同的客户用例。最终,我们希望客户能够成功地使用他们的首选技术栈、体系结构和 / 或已有的投资。
如果你正在为事件驱动的场景寻找一种无服务器的计算体验,那么鉴于其编程模型(基于触发器来响应发生在其他服务中的活动,基于绑定来方便地连接到不同的服务),我会推荐 Azure Functions。
同样,如果你来自 Linux 生态系统,并且正在构建容器化的应用程序,那么你将使用 Azure Kubernetes Service(AKS)。另外,我们还发现使用 Red Hat Linux 的客户正在迁移到 Azure 上的 OpenShift。
如果你想要 Windows/.Net 或微服务, Service Fabric 是一个很好的选择,Service Fabric Mesh 提供了无服务器的全托管风格,让你可以将任何容器化的工作负载、Linux 或 Windows 部署到 Azure 上。虽然 Service Fabric 可以用作容器编排器,但是它的优点在于它的编程模型,而且它是专门为在 Azure 中大规模构建、部署和操作微服务应用程序而设计的。
我们从 2018 年 7 月起就开始预览 Azure Service Fabric Mesh,我们看到客户正在利用这种“无服务器”服务,现代化 / 升级他们当前的应用程序(Windows 或 Linux),并把它们迁移到 Azure 上,或者将新的多语言应用程序部署到 Azure。

InfoQ:非常感谢您今天抽时间和我们交流。您还有什么想和 InfoQ 的读者分享的吗?

Chacko:感谢你们提供机会让我们分享我们团队的工作细节。Service Fabric Mesh 的旅程刚刚开始,我们需要你们的帮助。请在这里试用 Service Fabric Mesh 预览版,并提供反馈。
可以在这里与我们分享你的想法、问题和反馈。还有,如果你有问题想问我的话,请给我发推特@chackod。

关于作者

Chacko Daniel是一名产品负责人,在构建企业级分布式计算平台和服务的产品 / 服务开发方面有着丰富的经验。他目前在微软担任首席技术 PM,是平台运行时和两项 Azure 服务的所有者——Service Fabric Azure Cluster 服务和 Azure Service Fabric Mesh 服务。

原文地址: https://www.infoq.cn/article/HDUakJW9_WImgOlcIo4O

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P3265 [JLOI2015]装备购买

题目描述: 给N个整数向量,每个向量带权值,求权值和最小的线性基 题解: 按权值v从小->大排序,依次插入线性基。整数线性基的思想类似,只是此时“消去”不能直接xor完成,需要类似高斯消元一样…

Surging1.0发布在即,.NET开发者们,你们还在等什么?

开源,是近三十年来互联网经久不衰的话题。它不仅仅是一种技术分享的形态,更是一种开放,包容,互利共赢的互联网精神。 不到30年前,大神林纳德托瓦兹,在赫尔辛基大学实验室里,开发出了第一个版本的…

[SDOI2016]排列计数 (错排数概念 + 递推公式【附带证明】)

辛勤二更题目题解错排数概念错排数递推公式及其证明代码实现这种题做的时候: 做完后:正常这就是生活,我们要学会习惯 题目 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i …

失配树(border树)

4和6没有border关系 举例子: 当i 3时,j fa[i-1] fa[2] 0 s[j1] s[1] a s[3] 所以把i 3点的父亲设为j1 1 P5829 [模板]失配树

魔方俱乐部

爆肝感动三更题目思路90分代码(MLE)题解代码实现题目 fateice 来到了魔方俱乐部旅行。 魔方俱乐部有N个分部,每个分部均有且仅有一个虫洞,但是这虫洞只能通往一个分部。 每个分部有一个 orzFang 价值,第i个分部的 or…

模板:最大匹配

文章目录前言代码前言 匈牙利算法 可以解决的问题&#xff1a; &#xff08;原谅我的偷懒&#xff09; &#xff08;原谅我的水文&#xff09; 代码 #include<bits/stdc.h> using namespace std; #define ll long long const int N3e5100; const int mod1e97; int n,…

Stack Overflow 监控系统内部架构初探

Stack Exchange 架构主管 Nick Craver 在最近的一篇文章中介绍了他们的监控系统。他在文章中讨论了监控策略背后的理念和动机&#xff0c;并介绍了他们的工具集——主要是 Bosun、Grafana 和 Opserver。Stack Overflow 及其姐妹站点 Stack Exchange 运行在.NET 和 MS SQL Serve…

P5829 【模板】失配树

P5829 【模板】失配树 题目&#xff1a; 题解&#xff1a; 参考题解 我们先想一个问题&#xff1a;如何求出一个字符串的所有border&#xff1f; 如果一个字符串既是 S的前缀又是 S 的后缀&#xff0c;那么我们把 SS 自己平移一下就可以前后重合&#xff0c;然后我们就可以继…

[JLOI2015]战争调度

文章目录题目题解代码实现题目 脸哥最近来到了一个神奇的王国&#xff0c;王国里的公民每个公民有两个下属或者没有下属&#xff0c;这种关系刚好组成一个 n 层的完全二叉树。 公民 i 的下属是 2 * i 和 2 * i 1。最下层的公民即叶子节点的公民是平民&#xff0c; 平民没有下…

使用PerfView监测.NET程序性能(一):Event Trace for Windows

前言&#xff1a;在日常项目开发中&#xff0c;我们时不时会遇到程序占用了很高CPU的情况&#xff0c;可能是程序里某些未经优化的代码或者Bug&#xff0c;或者是程序运行压力太大。无论是什么原因&#xff0c;我们总希望能看到到底是哪个方法占用了如此高的CPU。微软为我们提供…

【用学校抄作业带你走进可持久化线段树(主席树)】可持久化线段树概念+全套模板+例题入门:[福利]可持久化线段树)

我似乎很少写这种算法博客可持久化线段树概念概念介绍&#xff08;类比帮助理解&#xff09;简单分析一下时间和空间复杂度&#xff08;内容池&#xff09;模板结构体变量建树模板单点修改模板单点查询模板区间修改模板&#xff08;pushup&#xff09;区间修改模板&#xff08;…

P3258 [JLOI2014]松鼠的新家

文章目录题意&#xff1a;题解&#xff1a;树上差分代码&#xff1a;树链剖分代码&#xff1a;P3258 [JLOI2014]松鼠的新家题意&#xff1a; n个点&#xff0c;n-1条边&#xff0c;给出每个点的拜访顺序&#xff0c;问每个点经过几次&#xff08;最后一次移动不算拜访&#xf…

[SOCI2005]最大子矩阵(DP) + [JXOI2018]守卫(DP) + [CQOI2016]手机号码(数位DP)[各种DP专练]

DP专练博客 DP专练T1&#xff1a;最大子矩阵题目题解代码实现T2&#xff1a;守卫题目题解代码实现T3&#xff1a;手机号码题目题解代码实现T1&#xff1a;最大子矩阵 题目 这里有一个n*m的矩阵&#xff0c;请你选出其中k个子矩阵&#xff0c;使得这个k个子矩阵分值之和最大。…

IdentityServer4-EF动态配置Client和对Claims授权(二)

本节介绍Client的ClientCredentials客户端模式&#xff0c;先看下画的草图&#xff1a;一、在Server上添加动态新增Client的API 接口。为了方便测试&#xff0c;在Server服务端中先添加swagger&#xff0c;添加流程可参考&#xff1a;https://www.cnblogs.com/suxinlcq/p/67575…

P3178 [HAOI2015]树上操作

P3178 [HAOI2015]树上操作 题意&#xff1a; 题解&#xff1a; 这已经是很裸的树链剖分了。。。 直接套模板 代码&#xff1a; #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespac…

dotnet core开源博客系统XBlog介绍

XBlog是dotnet core平台下的个人博客开源系统&#xff0c;它只需要通过Copy的方式即可以部署到Linux和windows系统中&#xff1b;如果你有安全证书那只需要简单配置一下即可提供安全的Https服务。接下来主要介绍XBlog功能、部署和基础设置。技术要点基于dotnet core平台&#x…

【莫队/树上莫队/回滚莫队】原理详解及例题:小B的询问(普通莫队),Count on a tree II(树上莫队),kangaroos(回滚莫队)

文章目录问题引入介绍莫队算法及其实现过程时间复杂度莫队算法适用范围莫队奇偶优化普通莫队&#xff1a;小B的询问树上莫队&#xff1a;SP10707 COT2 - Count on a tree II回滚莫队&#xff1a;[PA2011]Kangaroosupd&#xff1a;2021-08-11&#xff1a;重新对博客进行了外观美…

微软 2018 开源大事记

从微软公开宣布 "Microsoft love linux" 那一刻起&#xff0c;过去的几年里&#xff0c;微软积极拥抱开源的举动我们有目共睹&#xff0c;即便有过"Linux is a cancer"这种真香警告的 flag&#xff0c;但不得不承认的是&#xff0c;微软一系列“拥抱开源”…

模板:二叉搜索树平衡树

文章目录前言二叉搜索树代码treap代码splay开点旋转splay插入查找第k大元素查找给定元素的排名前驱&后继删除完整代码练习总结前言 终于开始学这个东西了 看了好几篇博客才找到一篇可读的qwq 我曾经还以为线段树码量大…我真傻&#xff0c;真的 所谓平衡树&#xff0c;就是…

P2486 [SDOI2011]染色

P2486 [SDOI2011]染色 题意&#xff1a; 题解&#xff1a; 与一般的树链剖分相比&#xff0c;不同点在于查询的不是路径上颜色的数量而是颜色段的数量 对于两个颜色段&#xff0c;112和221&#xff0c;两个颜色段数量都是2 如果合在一起颜色段的数量就是3&#xff0c;因为左边…