推荐一个基于Dapr的 Red Dog 的完整微服务应用程序

微服务尽管构建起来非常困难,但它们已成为一种越来越流行的架构模式。随着开发人员开始将他们现有的单体代码库迁移到微服务系统,他们花费大量时间来处理分布式应用程序带来的固有挑战,例如状态管理和服务调用。通过引入Dapr 通过以 http/gRPC API 的形式提供一致的构建块来解决其中一些与微服务相关的挑战。

微软Azure的Cloud Native Global Black Belt Team 团队开发的一个代号为 Red Dog 的完整微服务应用程序,Red Dog 应用程序是一个简化的电子商店应用程序,客户下订单,这些订单由 Worker 处理。同时,订单、收据和账号 存储在不同的持久性系统中。电子商务平台不包含任何 UI,除了用于监视订单的仪表板。它利用 Dapr(分布式应用程序运行时),因此可以轻松适应多种场景。

584d9f1ee28aa99627a73e7ab240cdee.png

以下是应用程序的不同组件的说明

6c46aadb6f98b9f6fb2009e3af9aa394.png

这个Reddog的代码存储库是为你更深入地了解如何构建由 dapr 提供支持的云原生分布式应用程序的软件开发人员所创建的资源。代码库可以在您的本地开发机器上运行或部署到您选择的容器托管平台。为了帮助您最好地利用代码库,Azure 云原生全球黑带团队还创建了一系列示例,展示如何使用 Azure 平台的关键服务和功能部署应用程序。每个部署实例的代码在独立仓库里:

0c7a856a1f446966c56e2881d2011e68.png

仓库地址:

https://github.com/Azure/reddog-code
https://github.com/Azure/reddog-containerapps
https://github.com/Azure/reddog-aks

https://github.com/Azure/reddog-hybrid-arc

这个示例代号为reddog,这让我想起了Azure 的原始版本,代号为“Red Dog”,微软 Azure于 2010 年 2 月 1 日上市,也正好12岁,是一个初长成的少年,从最初的Windows操作系统,到拥抱开源,拥抱Linux,拥抱Kubernetes的云原生。在过去的几年里,Linux 容器席卷了整个行业。最初由 Docker 驱动,容器化导致了一种基于微服务模式的新形式的应用程序开发和部署。

随后,Kubernetes 成为大规模管理容器和微服务的首选平台。Kubernetes 的原始创始人 Google 推出了 Google Kubernetes Engine (GKE),这是云中的第一个托管 Kubernetes 服务,然后将代码和治理移交给云原生计算基金会 (CNCF)。

2016 年,微软聘请了 Kubernetes 的联合创始人之一、谷歌的首席工程师Brendan Burns 。Brendan 领导了 Azure 的容器战略,帮助微软推出了一个名为 Azure Kubernetes Service (AKS) 的托管 Kubernetes 平台。

除了启动对 Windows 容器的支持之外,微软还为许多有趣和创新的项目做出了贡献,例如 Virtual Kubelet、基于 Kubernetes 的事件驱动自动缩放、服务网格接口(SMI)和开放服务网格(OSM)、开放应用程序模型(OAM)和分布式应用程序运行时 (DAPR)。

今天,微软和 Azure 在容器和 Kubernetes 开发者社区中享有盛誉。微软与谷歌、AWS、SAP、思科等公司也是 CNCF 的白金会员。

企业已经开始看到两个关键趋势——数据中心接受 Kubernetes 和多云投资。

企业对 Kubernetes 的采用有所增加,导致传统基础设施和现代基础设施共存。由于 Kubernetes 几乎可以在任何公共云环境中运行,因此它正在成为多云和混合云部署的共同点。

意识到这一趋势,微软推出了基于 Kubernetes 的改进混合云战略。这个名为Azure Arc的新平台使客户能够从单个控制平面管理由 Kubernetes 管理的虚拟机、物理机和容器化工作负载。与 AWS Outposts、Google Anthos、VMware Tanzu、IBM Multi-cloud Manager 和 Red Hat OpenShift 等其他一些竞争产品不同,Azure Arc 将传统和现代工作负载带到了公平竞争的环境中。Azure Arc 可以在本地数据中心甚至竞争云平台中托管 Azure 公有云的一些托管服务。

这个微服务应用程序代号也叫reddog,是不是也有那么一番意味, 采用相同技术构建的微服务应用程序可以自适应各种环境,不管是微软自己的云平台还是竞争对手的云平台上。

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

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

相关文章

基于事件的 NIO 多线程服务器

2019独角兽企业重金招聘Python工程师标准>>> JDK1.4 的 NIO 有效解决了原有流式 IO 存在的线程开销的问题,在 NIO 中使用多线程,主要目的已不是为了应对每个客户端请求而分配独立的服务线程,而是通过多线程充分使用用多个 CPU 的处…

随机给出三十道四则运算题目

这是课上练习,应用了随机函数,涉及是三个部分第一操作数、运算符、第二操作数,这三个部分都是随机产生的:第一、第二操作数可以应用随机函数产生符合条件的数值,运算符的产生可以在0-3,之间产生随机整数,分…

php反转数字_【PHP】php实现数组反转

php里面有个函数可以反转数组,工作中也经常用到,非常方便。今天来自己实现这样的功能。$arr [2,5,6,1,8,16,12];function reverse($arr){$left 0;$right count($arr) -1;$temp [];while ($left < $right){$temp[$left] $arr[$right];$temp[$right] $arr[$left];$left;…

第6章 C控制语句:循环

学习笔记——《C Prime Plus》 第6章 C控制语句&#xff1a;循环6.1 再探 while 循环6.1.1 程序注释6.1.2 C风格读取循环6.2 while 语句6.2.1 终止 while 循环6.2.2 何时终止循环6.2.3 while&#xff1a;入口循环条件6.2.4 语法要点6.3 _Bool 类型6.4 不确定循环和计数循环6.5 …

Android之用tcpdump常用抓包命令使用总结

1、搞好Android手机抓包环境 1 手机需要root 2 把tcpdump工具 push到手机 /data/local 目录下去,至于怎么搞,读者百度。 2、常见tcpdump抓包命令介绍 -w 把包数据直接写入文件而不进行分析和打印输出. 这些包数据可在随后通过-r 选项来重新…

openresty 前端开发进阶一之http后端

2019独角兽企业重金招聘Python工程师标准>>> 做前端开发&#xff0c;大多数情况下&#xff0c;都需要跟后端打交道&#xff0c;而最常见的方式则是通过http请求&#xff0c;进行通信。 在openresty中&#xff0c;通过http跟后端整合通信的方式又很多种&#xff0c;各…

php集成环境

WampServer转载于:https://www.cnblogs.com/longhs/p/3583495.html

第7章 C控制语句:分支和跳转

学习笔记——《C Prime Plus》 第7章 C控制语句&#xff1a;分支和跳转7.1 if 语句7.2 if else 语句7.2.1 介绍 getchar() 和 putchar()7.4 一个统计单词的程序7.1 if 语句 下程序读取一列数据&#xff0c;每个数据都表示每日的最低温度&#xff08;℃&#xff09;&#xff0c…

Objective-C中的self和super

1.有过面向对象的人知道&#xff0c;self相当于this&#xff0c;super相当于调用父类的方法 2.self是类的隐藏的参数&#xff0c;指向当前调用方法的类&#xff0c;另一个隐藏参数是_cmd&#xff0c;代表当前类方法的selector。 super并不是隐藏的参数&#xff0c;它只是一个”…

ip校验和及udp校验和的计算方法

一、ip校验和的计算: 计算方法: 1. ip包头(共20个字节)按照每16个bit作为一个值依次进行相加 2. 将计算结果的进位加到低16位上 3. 将结果取反 ip包头的内存内容 eg: 45 00 00 20 0F B8 00 00 80 11 00 00 C0 A8 0A 9F C0 A8 0A C7 将 0x4500 0x0020 0x0FB8 0x0000 0x…

【Blog.Core开源】网关统一集成下游服务文档

一般看到公众号更新&#xff0c;就是大概率要开始上班了&#x1f602;上回书咱们说到了《【Blog.Core开源】快速预览Admin界面效果》&#xff0c;这样我们就可以专注于后端开发&#xff0c;而且也能快速的实现效果的预览。那今天我们继续来往下走&#xff0c;说一说网关相关的内…

android4.3 截屏功能的尝试与失败分析

1.背景 上一篇讲了在源码中捕获到了android手机的截屏函数&#xff08;同时按下电源键与音量减&#xff0c;详情http://blog.csdn.net/buptgshengod/article/details/19911909&#xff09;&#xff0c;经过一周的研究还是没有在手机上实现系统截屏功能&#xff0c;总结下尝试的…

numpy方法总结

2019独角兽企业重金招聘Python工程师标准>>> 一、数组方法 创建数组&#xff1a;arange()创建一维数组&#xff1b;array()创建一维或多维数组&#xff0c;其参数是类似于数组的对象&#xff0c;如列表等 反过来转换则可以使用numpy.ndarray.tolist()函数&#xff0…

一些移动端开发的细节记录

好久不来写东西了,最近太忙,给自己搞的很累,对自己选择的道路有些不自信了. 决定干够半年后,大概四月中旬,会离职休息两三个月,去几个喜欢的地方看看,锻炼打球减肥,再把最近想要做过的项目整理一下,编写一些自己的插件和库,把之前积累的一些书过一下. 对前端的热爱没有丝毫改变…

阿里云离线数据仓库

阿里云离线数据仓库第1章 数据仓库概念第2章 项目需求及架构设计2.1 项目需求分析2.2 阿里云技术框架2.2.1 技术选型2.2.2 系统数据流程设计第3章 数据生成模块3.1 埋点数据基本格式3.2 事件日志数据3.2.1 商品列表页&#xff08;loading&#xff09;3.2.2 商品曝光&#xff08…

C++之extern和string的find函数和substr函数和data()函数使用总结

1、extern使用总结 网上看的例子,特么没有一个看懂的,为什么会用到这个extern呢?因为有一个cpp文件需要另外一个cpp文件的里面的值,第一反应想到的是static,因为java 里面如果在变量前面加了static,一切就好说了,class.成员变量,然后特么我也去找c++里面的static…

技术分享 | 混合云模式下SaaS端前端最佳实践

导读&#xff1a;集成开放平台采用的是混合云部署架构&#xff0c;包含两个大的组件&#xff0c;管理控制台和引擎。管理控制台是SaaS的&#xff0c;部署在公有云&#xff0c;按租户隔离。引擎部署在客户私有云。一套SaaS版的管理控制台如何适配不同客户的引擎&#xff0c;本文…

统计素数个数

10:判决素数个数总时间限制:1000ms 内存限制:65536kB描述 输入两个整数X和Y&#xff0c;输出两者之间的素数个数&#xff08;包括X和Y&#xff09;。输入 两个整数X和Y&#xff08;1 < X,Y < 105&#xff09;。输出 输出一个整数&#xff0c;表示X&#xff0c;…

记一则Hadoop DataNode OOM故障,以及解决方案

一、故障症状最近公司一个集群跑大任务时&#xff0c;datanode日志报DataXceiveServer: Exiting due to:java.lang.OutOfMemoryError: unable to create new native thread异常&#xff0c;然后计算节点上的DataNode直接挂掉。DataNode异常日志截图如下&#xff1a;2014-03-06 …

阿里云实时数据仓库

阿里云实时数据仓库——学习笔记 课程目标 学习搭建一个实时数据仓库&#xff0c;掌握数据采集、存储、计算、输出、展示等整个业务流程。整个实时数据仓库系统是在阿里云架构上搭建&#xff0c;掌握并学会运用各个服务组件&#xff0c;及各个组件之间如何联动。前置知识要求&…