亚马逊---设计弹性架构

一个好的架构师可以做到以下几点:

        根据需求设计事件驱动型架构、微服务架构和/或多层架构

        确定架构设计中使用的组件的扩展策略

        根据要求确定实现松耦合所需的AWS服务

        确定何时使用容器

        确定何时使用无服务器技术和模式

        根据要求推荐合适的计算、存储、联网和数据库技术

        将专用AWS服务用于工作负载        

纵向扩缩与横向扩缩

在多个可用区进行水平扩展

松耦合

ELB负载均衡器类型

ELB使用案例

ELB常见功能

解耦架构的消息队列(Amazon SQS)

适用于秒杀系统

解耦架构的发布/订阅消息的收发(Amazon SNS)

在微服务架构中,不同的服务之间应该尽可能地解耦,以便每个服务可以独立开发部署和拓展。解耦还可以应用于系统的各个层级,包括应用程序层、数据层和基础设施层,从而提高系统的弹性和可靠性。

        在使用AWS或类似的云计算平台时,解耦也是一个关键的设计原则。通过合理的架构设计和使用适当的AWS服务,可以实现系统的解耦,从而获得更好的性能、可用性和可维护性。例如,将应用程序拆分微服务,并使用AWS的服务进行消息传递、数据存储和计算,可以帮助实现系统的解耦。

解耦示例: 将Amazon S3 与 Amazon SNS结合使用

Amazon SNS与Amazon SQS的对比

SOA架构(Service-Oriented Architecture,面向服务的架构)是一种软件设计和开发范例,其核心思想是将应用程序设计为一组相互独立且可重用的服务。这些服务通过标准化的接口进行通信,可以被动态地组合和重组以满足不同的业务需求。

在SOA架构中,服务是系统的基本构建块,每个服务都代表一个特定的业务功能或过程。这些服务通过网络进行通信,可以跨越不同的平台和技术栈。通常,SOA架构中的服务以Web服务的形式提供,使用标准的通信协议(如SOAP或REST)进行通信。

SOA架构的关键特点包括:

  1. 松耦合性:服务之间的耦合度低,每个服务都是独立的,可以单独开发、部署和更新,而不会对其他服务产生影响。

  2. 可重用性:由于服务是独立的,它们可以被多个应用程序或业务流程重用,从而提高了开发效率和系统的灵活性。

  3. 标准化的接口:每个服务都有清晰的接口定义,通常使用标准的通信协议和数据格式,使得不同平台和技术栈的应用程序可以无缝地与之交互。

  4. 面向业务需求:SOA架构将重点放在满足业务需求上,通过将系统拆分成可管理的服务,使得系统更容易理解、维护和扩展。

微服务是一种架构的方式和设计的理念。就是把一个项目中大的部分去拆分成微小的服务。然后它们能够独立去开发、独立的部署、独立的上线、独立的运维和独立的DB。服务和服务之间可以通过API去交互

容器与微服务

在AWS上运行容器

无服务器(托管给云服务器产商)

就跟水电一样按需按量使用 

AWS无服务器产品

API Gateway(API 网关)      微服务器中内部独立部分的交互方法

Amazon EventBridge(事件桥):源、规则、目标

AmazonEventBridge是一项托管的事件总线服务,可以轻松地将应用程序地事件数据从一个源床送到一个目标。它允许开发人员通过简单地方式建立应用程序之间的解耦,从而实现更加可靠和可拓展的架构。

EventBridge允许您定义事件规则,这些规则确定了如何将事件从一个源传送到一个或多个目标。事件源可以是AWS服务、SaaS应用程序、自定义应用程序、或者任何能够生成事件的系统。目标可以是AWS Lambda函数、Amazon SNS主题、Amazon SQS队列、Kinesis流、以及其他支持的服务。

事件驱动示例: CloudWatch告警自动响应。

Amazon CloudWatch

AWS CloudTrail是一项AWS提供的服务,用于跟踪、记录和存储与AWS账户相关的活动和事件

AWS CloudTrail

一个好的架构师可以做到以下几点:

        确定自动化策略以确保基础设施的完整性

        确定在跨AWS区域或可用区提供高可用性/或容错架构时所需的AWS服务

        实施设计以缓解单点故障

        实施策略以确保数据的持久性和可用性(例如,备份)

        使用AWS服务来提高旧式应用程序和不是为云构建的应用程序的可靠性(例如,在无法更改应用程序的情况)

        将专用AWS服务用于工作负载

示例:多区域高可用性和DNS

Amazon EBS

使用AWS Backup自动创建快照

Amazon EFS

Amazon FSx

Amazon S3的对象复制

通过多可用区域部署实现数据库的高可用性

使用Amazon Aurora进行扩缩

Amazon DynamoDB全局表

灾难恢复

恢复点目标(RPO)和恢复时间目标(RTO)

用于灾难恢复的基本AWS服务和功能

比较AWS上的常用灾难恢复实践

可靠性设计原则

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS NEXT 网格元素交换案例

网格元素交换案例 介绍 直接进行交换和删除元素会给用户带来不好的体验效果,因此需要在此过程中注入一些特色的动画来提升体验效果,本案例通过Grid组件、attributeModifier、以 及animateTo函数实现了拖拽动画和删除动画。 效果图预览 使用说明&#…

【网络】Burpsuite学习笔记

文章目录 1.介绍1.1 正常客户端与服务端通信&BurpSuite代理后1.2 下载激活参考地址1.3 代理设置1.4 Proxy SwitchyOmega 使用1.4.1 新建情景模式1.4.2 设置代理1.4.2 应用选项 1.5 FoxyProxy 使用1.6 安装证书1.6.1 方式一1.6.2 方式二1.6.3 浏览器安装证书1.6.4 或者直接双…

基于改进遗传算法的配电网故障定位(matlab代码)

1 主要内容 该程序复现文章《基于改进遗传算法的配电网故障定位》,将改进的遗传算法应用于配电网故障定位中, 并引入分级处理思想, 利用配电网呈辐射状的特点, 首先把整个配电网划分为主干支路和若干独立区域, 再利用该算法分别对各独立区域进行故障定位, 然后进行…

独立开源版:零点城市社交电商v2.1.2.4

源码介绍 独立版:零点城市社交电商v2.1.2.4 新增首页新增多弹窗 注意:如果没有此完整程序勿下载 全开源解密版代码,后端完全开源,前端是VUE前端,可自行二开自己想要的功能。 独立版零点城市社交电商 小程序致力于…

tcp bbr pacing 的对与错

前面提到 pacing 替代 burst 是大势所趋,核心原因就是摩尔定律逐渐失效,主机带宽追平交换带宽,交换机不再能轻易吸收掉主机突发,且随着视频类流量激增,又不能以大 buffer 做带宽后备。因此,主机必须 pacing…

CentOS的简单介绍及常用命令

1、CentOS 的简单介绍: CentOS是Community Enterprise Operating System的缩写,也叫做社区企业操作系统。是企业Linux发行版领头羊Red Hat Enterprise Linux(以下称之为RHEL)的再编译版本(是一个再发行版本&#xff09…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第五套

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第五套 (共9套,有答案和解析,答案非官方,仅供参考)(共九套,每套四十个选择题) 部分题目分享,完整版获取(WX:didadida…

gazebo中vins-fusion在仿真小车上的部署

软件要求:Ubuntu 20.04 ros的noetic版本,我是在虚拟机vitrualbox上运行的 这几天在学ROS,跟着赵虚左老师过了一遍之后,感觉还是有很多不懂的地方,xtdrone上仿真跟着文档走了一遍,好像没学到什么东西&#…

【华为笔试题汇总】2024-04-17-华为春招笔试题-三语言题解(Python/Java/Cpp)

🍭 大家好这里是KK爱Coding ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为近期的春秋招笔试题汇总~ 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢&#x1f…

【计算机考研】考408,还是不考408,性价比高❓

最近刷了很多帖子都偏向408太难了不要报考 但我的看法是408是计算机的考研趋势,并且择校的选择更多,408只是科目更广泛,与自命题相比其实各有各的难度 如果觉得自己数学基础不太好,时间不太够的同学可以了解一下自命题&#xff…

nodejs模块机制

模块机制 CommonJs规范 模块引用 上下文提供require()方法来引人外部模块var math require(math) 模块定义 exports 对象用于到处当前模块中的方法和变量module代表模块自身 exports.add function() {...}在另一个模块中使用require()方法进行导入。就可以使用 区别和联系 …

电力系统卫星授时信号安全隔离装置防护方案

电力系统是国家关键基础设施, 电力安全关系国计民生, 是国家安全的重要保障, 与政治安全、经济安全、 网络安全、社会安全等诸多领域密切关联。电网运行情况瞬息万变,为了在其发生事故时能够及时得到处理,需要统一的时…

Redis中的事务(二)

事务 一个完整的WATCH事务执行过程 假设当前服务端为c10086,而数据库watched_keys字典的当前状态如图所示,那么当c10086执行以下WATCH命令之后 c10086> WATCH "name" OKwatched_keys字典将更新如图所示的状态。接下来客户端c10086继续向…

[2021最新]Java时间戳和日期时间互转换

代码: import java.text.ParseException; import java.text.SimpleDateFormat;public class MainProcess {public static void main(String[] args) throws ParseException {// 1.set formatSimpleDateFormat timeSmat new SimpleDateFormat("yyyy-MM-dd HH:…

Kubernetes中安装部署ActiveMQ集群(手把手式记录)

目录 1、创建命名空间 nacos-cluster 2、配置文件准备 2.1 activemq0.xml 2.2 activemq1.xml 2.3 activemq2.xml 3、创建configMap cm-activemq 4、创建activemq-cluster.yaml 5、执行命令部署 6、部署成功,查看结果 这里以3个borker的集群为例&#xff0…

Facade 外观

意图 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一字系统更加容易使用。 结构 其中: Facade知道哪些子系统负责处理请求;将客户的请求代理给适当的子系统对象。 Subsystem classes…

QGIS插件Geo-SAM使用(基于SAM半自动标注遥感图像)

0.Geo-SAM介绍 Geo-SAM是一个QGIS插件,旨在帮助人们在使用大尺寸地理空间栅格图像时有效地分割、描绘或标记地貌。Segment Anything Model (SAM) 是一个具有超能力的基础 AI 模型,但模型大小巨大,即使使用现代 GPU&am…

C++学习进阶版(一):用C++写简单的状态机实现

目录 一、基础知识 1、状态机 2、四大要素 3、描述方式 4、设计步骤 5、实现过程中需注意 (1) 状态定义 (2) 状态转换规则 (3) 输入处理 (4) 状态机的封装 (5…

Nginx第2篇-HTTPS配置教程

背景 我最近做个项目要上线,接口部署到服务器,总不能给别人个ip地址加端口吧,而且小程序上线要有接口不能是ip和http协议,必须是https协议。这里记录下使用Nginx配置HTTPS的过程,主要包含以下三部分。 申请域名SSL证…

远程预付费集抄管理系统

远程预付费集抄管理系统是一种用于能源(如水、电等)预付费管理的智能化系统,其核心在于提供远程集中抄表和费用管理服务。这种系统通过集成先进的远程监控技术和预付费管理功能,为用户提供了便捷的能源管理解决方案。下文将从核心功能、工作流程、优势特…