博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
亚马逊的负载均衡(Amazon Load Balancing)
阅读量:4652 次
发布时间:2019-06-09

本文共 1622 字,大约阅读时间需要 5 分钟。

公司最近要将架构迁到云上,存储用S3,服务器用EC2。为了将我们的架构变的具有横向的伸缩性,我们使用AWS的Load balancing来做负载均衡。简单来说负载均衡就是讲大量的客户端访问分发到不同的后端amazon ec2 instances中。

Amazon的Load balancing配置起来也非常简单,就是将已存在的ec2 instance添加到load balancing中。之后你可以配置端口转发,即将客户访问的端口转发到合适的后台服务。当然也有些需要注意的地方:

1,从哪里找到Load Balancing的配置页面

就在你的EC2的Dashboard中就可以找到Load Balancing配置页面。

2,Port转发的配置

在使用Load Balancing之前要设置端口的转发,就在Listeners那个tab中。如果你使用HTTP协议,你就可以选择HTTP协议。如果你是TCP应用请选择TCP,看论坛上说可以使用的的。如果你是选了HTTP,有个可能对应用来说比较有用的选项Stickiness,其实就是Load Balancer在HTTP协议上加了一个Cookie,借此来实现Session的功能。

 

3,Health Check

Load Balancing的另一个功能,或者说Feature就是Load Balancer维护一个ec2 instances pool。通过Health Check的instance会被添加到instances pool中等待load balancer分发过来的connections。如果某个instance通不过health check,那么他会从instances pool删除,load balancer不会再分发connections到这个instance。但是删除的instance会继续做health check当他的再次通过health check的时候会被再次添加到instances pool中。

Health Check分为两种类型:

1,HTTP应用,那么Health Check就是访问一个固定位置的URL,如果返回HTTP Status Code为200。那么load balancer就认为通过health check。可以根据你的业务在URL的服务端代码中做一些服务器的状态检查,但是不要太耗时。

2,TCP应用,那么Health Check就是发起一个TCP connections,如果连接成功,那么就认为通过了health check。

这里的Timeout就是访问URL或TCP连接的最大超时时间,如果在这个时间内(上图是10s)还是没有返回,那么就就认为unhealthy。

Interval是多久访问一次这个URL或发起一个TCP连接。上图是300s(5min),这也是容许的最大值。

Unhealthy Threshold是指连续(consecutive)多少次访问失败,才把这个instance从instances pool中移除。

Healthy Threshold是指连续多少次成功访问,才再次把这个instance添加到instances pool中。

 

4,其他的问题

目前对我们的应用来说比较大的问题是,如何将每个instance生成的文件,正确的上传到S3的特定位置。这就引申到一个load balancing的本质:在后端是由多台服务器来提供服务。对于某些应用来说这没有问题,只要后端数据有个统一的访问接口,这都不是问题。但是对于一些应用还是需要在架构上做些调整来实现load balancing的透明化。切记,透明化才能让横向扩展变得容易,这也是用load balancing的初衷。

转载于:https://www.cnblogs.com/Jerry-Chou/archive/2013/03/27/2984311.html

你可能感兴趣的文章
maze_travel的隐私声明
查看>>
对正则表达式又重新学了一遍,笔记方便以后查阅
查看>>
UIKit应用 - Swift 版本: 3.让UITableViewCell的背景色渐变
查看>>
Java反射
查看>>
building tool
查看>>
JS中for循环输出三角形
查看>>
字节对齐2
查看>>
与Win8之磁盘活动时间100%斗争心得
查看>>
Matrix: android 中的Matrix (android.graphics.Matrix) (转)
查看>>
Android中处理崩溃异常
查看>>
Day7—socket进阶
查看>>
只读数据文件损坏恢复
查看>>
转过来的,可以看下
查看>>
windows搭建SVN服务MD版
查看>>
Java私塾的一些基础练习题(一)
查看>>
Shell 07 项目案例
查看>>
Dapper基础用法
查看>>
一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(1)--创建和使用可重用工作流...
查看>>
Network 第六篇 - 三层交换机配置路由功能
查看>>
OSL LLVM 3.3 Related Changes
查看>>