apache高级应用--------负载均衡(LB)

简介:

背景

       负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。


相关

      常见的负载均衡实现分别硬件和软件,

     商业硬件负载均衡中应用比较广泛的有F5、Netscaler等相关国际提供商

       优点:稳定,硬件级别性能高,非系统无关,有强大可靠的技术支持。

           缺点:价格贵,配置冗余。

   软件负载均衡中应用比较广泛的有Nginx,Haproxy、Nginx、LVS, Apache(根据HTTP协议支持的属性进行L7分发)、A/B Test Gateway、WAF等等.

      优点:基于系统与应用的负载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。

          缺点:负载能力受服务器本身性能的影响,性能越好,负载能力越大,与系统有关。


应用:

    互联网公司(如淘宝、新浪、腾讯等)使用中比较偏向于软负载均衡,而像农行、建行,联通等国企偏向于F5之类的硬件负载均衡。


本次主要基于apache通过简单演示来介绍负载均衡。

环境:

server: Fedora 24 (由于博主不喜欢CentOS桌面样式,所以转向兄弟版Fedora,应用方式都相差无几)

ip: 192.168.0.13

wKiom1fAaUjQDvlGAABG-IkIZdA556.png


实战:

由于原来已经安装好了Tengine,所以本次将直接使用Tengine来模拟两Server站点。分别监听9096和8080端口提供web服务

站点一:conf/vhost/blog.conf

wKiom1fAamrhRKAwAACofmhCSYA039.png


站点二:conf/vhost/bbs.conf

wKiom1fAarGyecJzAACjUTgKEUU893.png


html目录下bbs和blog的index.html内容

wKioL1fAazSSzMOjAABB6w6bSAM031.png

启动Tengin并测试

wKiom1fAa-qhofQBAAD22cIqPmg899.png


web服务器准备好后安装apache

下载: wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.23.tar.gz

解包: tar zxvf httpd-2.4.23.tar.gz

进入: cd httpd-2.4.23

检查并生成Makefile文件:./configure --prefix=/application/httpd-2.4.23 --enable-so --enable-modules="all"

                        --prefix=/application/httpd-2.4.23  指定安装目录

                        --enable-so  编译出大部分可用的so文件

                        --enable-modules="all" 打开所有模块列表

编译并安装:make && sudo make install


安装完成后

wKiom1fAcJbSk655AAD_VCEbdTk962.png

    目录介绍:

    bin: 存放apache查关可执行文件

    build: 存放脚本目录

    cgi-test: 存放cgi文件目录

    conf: 存放apache相关配置文件目录

    htdocs: 存放html相关目录

    icons: 存放相关图片目录

    include:存放.h头文件目录

    logs: 存放相关日志文件目录

    ..

    ..

    modules: 存放相关模块.so文件目录


进入conf/extra目录

新建httpd-proxy.conf文件

wKioL1fAco3S372oAAGHyf3TIww700.png

2-5行加载apache负载均衡功能必备模块

6-8行加载apache负载均衡调度算法模块

11行ProxyRequests Off; 关闭正向代理(开启反向代理,apache负载均衡基于7层反向代理)

12-15 定义web服务器

16-20 定义开启Web管理

22-31 定义虚拟主机


修改conf/httpd.conf

增加

#proxy demo

Include conf/extra/httpd-proxy.conf


将ServerName www.example.com:80  修改为

ServerName www.lisea.cn:80


修改/etc/hosts文件

增加192.168.0.13 www.lisea.cn lisea.cn


开启apache

wKiom1fAdRmBvHgpAACisetCQlM762.png


测试访问:(由于浏览器访问会产品缓存和连接保持,直接由curl命令模拟访问请求)

wKiom1fAdW_AAmpEAAC280_rasw777.png


以需求驱动技术,技术本身没有优略之分,只有业务之分。






      本文转自asd1123509133 51CTO博客,原文链接:http://blog.51cto.com/lisea/1843151 ,如需转载请自行联系原作者



相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
1月前
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
22 0
|
1月前
|
SQL Apache 调度
Apache Hudi在腾讯的落地与应用
Apache Hudi在腾讯的落地与应用
43 3
|
1月前
|
数据处理 分布式数据库 Apache
一文聊透Apache Hudi的索引设计与应用
一文聊透Apache Hudi的索引设计与应用
65 3
|
3月前
|
机器学习/深度学习 SQL 分布式计算
Apache Spark 的基本概念和在大数据分析中的应用
介绍 Apache Spark 的基本概念和在大数据分析中的应用
157 0
|
3月前
|
机器学习/深度学习 SQL 分布式计算
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
|
4月前
|
算法 NoSQL Java
Apache Zeppelin系列教程第八篇——LRU算法在Apache Zeppelin中的应用
Apache Zeppelin系列教程第八篇——LRU算法在Apache Zeppelin中的应用
31 0
|
5月前
|
Kubernetes Apache 对象存储
海程邦达基于Apache Paimon+Streampark实现 Streaming warehouse的实战应用(中)
海程邦达基于Apache Paimon+Streampark实现 Streaming warehouse的实战应用
117 0
|
4月前
|
SQL 缓存 监控
带你读《Apache Doris 案例集》——03 Apache Doris 在金融壹账通指标中台的应用实践(2)
带你读《Apache Doris 案例集》——03 Apache Doris 在金融壹账通指标中台的应用实践(2)
带你读《Apache Doris 案例集》——03  Apache   Doris  在金融壹账通指标中台的应用实践(2)
|
4月前
|
SQL 运维 数据挖掘
带你读《Apache Doris 案例集》——03 Apache Doris 在金融壹账通指标中台的应用实践(1)
带你读《Apache Doris 案例集》——03 Apache Doris 在金融壹账通指标中台的应用实践(1)
|
29天前
|
存储 缓存 负载均衡
【Apache ShenYu源码】如何实现负载均衡模块设计
整个模块为ShenYu提供了什么功能。我们可以看下上文我们提到的工厂对象。/***/核心方法很清晰,我们传入Upsteam列表,通过这个模块的负载均衡算法,负载均衡地返回其中一个对象。这也就是这个模块提供的功能。
17 1

推荐镜像

更多