AWS-生产级微服务部署架构分享

使用AWS搭建云上应用

名词解释

AWS ECR:AWS ECR 容器存储库,按项目名创建容器仓库,一个项目对应一个仓库,目前是由Jenkins构建镜像远程push到AWS ECR。

**AWS ECS:Amazon Elastic Container Service (ECS) ,**一项高度可扩展的高性能容器管理服务,支持 Docker 容器,并让您能够在托管的 Amazon EC2 实例集群上轻松运行应用程序。

AWS Fargate:AWS Fargate 是您可以与 Amazon ECS 运行 容器无需管理 服务器或群集 Amazon EC2 实例。有 AWS Fargate,您不再需要提供, 配置或扩展虚拟计算机的群集以运行容器。这不需要 选择服务器类型、决定何时扩展群集或优化群集打包。

AWS EFS: Amazon EFS提供简单、可扩展、完全托管的弹性 NFS 文件系统.对于需要访问文件系统的应用,可以使用EFS,类似在Docker挂载一个磁盘,可直接访问 。

AWS S3Amazon Simple Storage Service,一种对象存储,它具有简单的 Web 服务界面,可用于存储和检索 Web 上任何位置、任意数量的数据。它能够提供 99.999999999% 的持久性,并且可以在全球大规模传递数万亿对象。

AWS SQSAmazon Simple Queue Service (SQS) 是一项快速可靠、可扩展且完全托管的消息队列服务。SQS 使得云应用程序的组件解藕大大简化,并且具有较高的成本效益。您可以使用 SQS 在任意吞吐量级别传输任何规模的数据,而不会丢失消息,并且无需其他服务即可保持可用。

**AWS EC2:Amazon Elastic Compute Cloud (Amazon EC2) ,**是一种 Web 服务,可在云中提供大小可调的计算容量。

AWS IMAAWS Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 AWS 资源的访问。您可以使用 IAM 控制对哪个用户进行身份验证 (登录) 和授权 (具有权限) 以使用资源。

AWS CloudWatchAmazon CloudWatch 是一项针对 AWS 云资源和在 AWS 上运行的应用程序的监控服务。您可以使用 Amazon CloudWatch 来收集和跟踪各项指标、收集和监控日志文件、设置警报以及自动应对 AWS 资源的更改。

NAT GatewayNAT Gateway(网络地址转换网关) 主要用来对一组私有子网内的服务器进行代理,被代理的所有服务器的对外请求都将通过 NAT 网关发出,这样目标服务所看到的请求 IP 也都是 NAT 网关的 IP。

AWS Auto Scaling:AWS Auto Scaling 可以监控您的应用程序并自动调整容量,从而以尽可能低的成本来保持稳定、可预测的性能。使用 AWS Auto Scaling,您可以在几分钟内为多项服务中的多个资源设置扩展。

AWS ELB:Elastic Load Balancing 在多个目标(如 Amazon EC2 实例、容器、IP 地址和 Lambda 函数)之间自动分配传入的应用程序流量。它可以在单个可用区内处理不断变化的应用程序流量负载,也可以跨多个可用区处理此类负载。Elastic Load Balancing 提供三种负载均衡器,它们均能实现高可用性、自动扩展和可靠的安全性,因此能让您的应用程序获得容错能力

部署架构

使用Amazon Elastic Container Service、AWS Fargate、Docker 和 Amazon EC2。每个区域部署架构基本一致。
美西区域架构部署

AWS(亚马逊云服务)是一种云计算平台,而微服务是一种软件架构风格。将这两者结合起来,AWS微服务部署提供了强大的支持和灵活性。 在AWS上,可以使用多种服务来部署和管理微服务架构。以下是一种常见的AWS微服务部署架构: 1. 云服务器(EC2):使用EC2实例来托管和运行每个微服务。每个微服务可以单独的运行在不同的EC2实例上,这样可以实现松耦合和独立扩展。 2. 负载均衡(ELB):使用ELB分发流量到每个微服务的多个实例上,以实现高可用性和负载均衡。ELB可以将流量均匀地分配到EC2实例上,当某个EC2实例宕机时,流量会自动被重新路由到其他可用的实例上。 3. 自动扩展(Auto Scaling):使用Auto Scaling来自动调整EC2实例的数量,以根据流量的变化来自动扩容或收缩微服务的容量。Auto Scaling可以通过定义规则和指标来触发实例的自动扩容和收缩,以确保每个微服务始终具有足够的容量来处理流量。 4. 容器服务(ECS或EKS):使用ECS(Elastic Container Service)或EKS(Elastic Kubernetes Service)来管理和部署微服务的容器化应用。这些服务可以自动托管和运行容器,并处理容器的调度、监控和伸缩等任务。 5. 服务发现和路由(Route 53):使用Route 53来进行微服务的服务发现和路由。Route 53可以提供DNS解析和负载均衡功能,以确保流量被正确地路由到每个微服务。 通过以上的AWS服务,可以搭建一个高度可靠、高度可伸缩的微服务部署架构。这样的架构可以帮助开发人员更好地管理和部署微服务,并能够应对不同流量和负载的挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值