推荐一个基于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 的处…

第6章 C控制语句:循环

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

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

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

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

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

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

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

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

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

numpy方法总结

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

阿里云离线数据仓库

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

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

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

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

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

阿里云实时数据仓库

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

手动挡五个档位示意图_汽车档位越多越好?听听专业回答

如今的汽车市场百花齐放,汽车厂商们也不断在研发过程中寻找不同的突破口,其中汽车变速器的档位变化就是众多汽车品牌当做噱头的重点,不知从什么时候开始,自动变速箱档位数量变多成为了深受汽车品牌喜爱的突破点,渐渐的…

Android之用netcfg命令获取手机虚拟网卡tun0的信息

1、在终端输入下面命令 adb shell adb netcfg 2、展示结果 3、使用总结 我们得到手机 tun0 地址为10.1.102.11 然后在vpn后台,我们先找到是哪个tun,我们可以使用ip route命令ip route show table2 这个允许结果就是 地址 哪个tun比如我们得到是tun2 然…

C# 基于事件的异步模式

点击蓝字 关注我们开工大吉EventBasedAsyncPattern 方法使用了基于事件的异步模式。这个模式定义了一个带有 “Async” 后缀的方法。示例代码再次使用了WebClient 类。对于同步方法DownloadString,WebClient类提供了一个异步变体方法 DownloadStringAsync。当请求完…

Tomcat 下 Memcached 集群与 Terracotta 集群比较

总结:Terracotta 集群配置要比Memcached 集群简单,但Terracotta 集群启动的速度要比Memcached 集群慢,性能Terracotta 集群要比Memcached 集群好。但性能都好不过weblogic单机的性能!! Terracotta 集群效果图如下&…

IDEA简单配置教程

IDEA简单配置教程 ——做好前期配置工作,后期少走弯路。 创建模块(Module) 设置(Settings) 设置主题 窗体及菜单字体及大小 设置编辑区主题 通过插件(plugins)更换主题 设置鼠标滚轮修改字体大小 设置鼠标悬浮提示 设置自动导包功能 显示行号和方法间的分隔符 忽略…

MariaDB Spider 数据库分库分表实践 分库分表

分库分表一般来说,数据库分库分表,有以下做法:按哈希分片:根据一条数据的标识计算哈希值,将其分配到特定的数据库引擎中;按范围分片:根据一条数据的标识(一般是值)&#…

【树莓派】配置介绍

网络是个好东西,好多同学分享的博文,极大的方便我们学习,谢谢~ 1、初始化配置树莓派 装上新系统,连接到树莓派后,一切都是新的,需要配置树莓派的一些选项。 使用putty连接到树莓派后,输入指令su…

C语言之函数指针和函数的首地址

1、爆简单的代码 因为容易忘记,还是再记录一次吧。 2、展示结果 至于函数指针用法,一眼便知对于add和&add你应该这样理解,add是函数的首地址,它的类型是void (),&add表示一个指向函数add这个对象的地址&#x…

MFC中卡拉OK字体的定时器实现,使用DC的DrawText函数实现

1 void CTextView::OnTimer(UINT_PTR nIDEvent)2 {3 m_nWidth 5; // 在构造函数中初始化为 0;4 5 CClientDC dc( this );6 TEXTMETRIC tm;7 dc.GetTextMetrics( &tm );8 CRect rect;9 rect.left 0; 10 rect.top 200; 11 re…