企业整个架构分析

1. App服务器上边部署应用,如果是java的话,一般是tomcat;

2. 负载均衡服务器负责转发请求,这种既有主机又有备机的负载均衡成为高可用(HA);

3. 一般web服务器用tomcat,大公司追求稳定用weblogic;

4. 高并发发生在两处:(1)、两台负载均衡机器会出现并发问题;(2)、数据库的并发问题;

5. App服务器会出现的问题:

  

  (1)、session如何共享;如何解决,3种解决方案;

a. 可以把用户的session放在cookie中(缺点:用户的session放在了浏览器中,不安全,下下策);

b. 可以把用户的session放在数据库中(缺点:网站是一个成千上万用户的网站,如果把session放在数据库中,会造成数据库压力太大,从而使网站不能正常运转,);

c. 可以把用户的session放在缓存服务器中(最好的解决方案,推荐两种缓存服务器:memcached/redis,memcached/redis必须是集群);

6. 数据库并发三大要求:(1)、随着业务量的不断增大,数据库承载能力也要增大;(2)、要求数据安全,不能丢失;(3)、要求支持备份+容灾;

7. hadoop集群的作用:

    

a. 通过sqoop将关系型数据库的数据导出到hdfs中;

      Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数 据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

b. 将hdfs中的数据经过MapReduce进行计算及处理;

c. 将处理完的结果数据写回hdfs文件系统;

d. 将结果数据导回关系型数据库中;

e. 用jchart生成图表;

4.分析完企业整体架构后,开始搭建负载均衡服务器,并演示效果

  4.1搭建LVS负载均衡,场景描述:

    开启四台Linux系统(Centos6.4)

    第一台:负载均衡主机

    第二台:负载均衡备机

    第三台:真实服务器(http服务器)

    第四台:真实服务器(http服务器)

  http服务器是Apache公司的服务器,在linux系统上自带的,可以直接使用,方便快捷

  4.2 准备开始搭建,搭建成功后,演示刚才说的那三个功能

    4.2.1验证功能:

    ①转发功能

    ②故障移除的功能

    ③恢复添加的功能

    ④负载均衡主机关了,负载均衡备机是否接管它的工作

    4.2.2 三种IP:

    负载均衡IP:所在服务器IP

    VIP:LVS这个软件的IP,正是我们要访问的IP

      192.168.200.201  访问IP

    真实服务器RIP(realIP)

    4.2.3 IP分配

    192.168.200.149: 负载均衡服务器

    192.168.200.150: 负载均衡服务器

    192.168.200.151: Http服务器

    192.168.200.152: Http服务器

 

  4.2.4  启动Http服务器

    启动Http服务器命令:

    service httpd start

    //不关闭防火墙访问不了

    查看防火墙的状态:

    service iptable status

    关闭防火墙:

    service iptables stop

    彻底关闭防火墙:

    chkconfig iptables off

    在浏览器中输入192.168.200.151,看服务器是不是启动成功。

    ((Http服务器应该不一样,转发的时候才能知道转发到哪里了

    cd /var/www/html/

    vim index.html

    输入内容: I am http 151,保存退出))//修改主页

    然后在两台真实服务器上添加接口,并设置虚拟IP在此接口上

    在某一台真实服务器上:

      #cd  /etc/init.d/

      #touch  realserver

      #vim  realserver

    粘贴内容,保存退出

    chmod 755 realserver//赋予权限

    service realserver start//启动服务

  ifconfig查看,如果出现一个虚拟ip(lo:0   192.168.200.201),则说明启动成功

  4.2.5 搭建负载均衡主机

    安装keepalived软件

      Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web 服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人 工做的只是修复故障的web服务器。

    安装keepalived软件命令:

    rpm -ivh keepalived-版本号

    查看软件安装在哪里:

    rpm -ql   keepalived-版本号

    查找配置文件的位置,然后编辑配置文件:

    vim /etc/keepalived/keepalived.conf

    > /etc/keepalived/keepalived.conf  (>可以用于清除内容)

    vim /etc/keepalived/keepalived.conf,设置VIP和对应的真实服务器IP,

keepalived配置文件: /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

   notification_email {

admin@jhonse.com #故障接受联系人

   }

   notification_email_from Alexandre.Cassen@firewall.loc #故障发送人

   smtp_server 192.168.200.1 #本机发送邮件

   smtp_connect_timeout 30 #BACKUP上修改为LVS_BACKUP

   router_id LVS_DEVEL

}

vrrp_instance VI_1 {

    state MASTER #BACKUP上修改为BACKUP

    interface eno16777736 #网卡接口名称

    virtual_router_id 51 #虚拟路由标识,主从相同

    priority 100 #BACKUP上修改为90

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111 #主从认证密码必须一致

    }

    virtual_ipaddress {  #Web虚拟IP(VIP)

        192.168.200.201

    }

}

virtual_server 192.168.200.201 80 {  #定义虚拟IP和端口

    delay_loop 6  #检查真实服务器时间,单位秒

    lb_algo wrr    #设置负载调度算法,rr为轮训

    lb_kind DR   #设置LVS负载均衡DR模式

    nat_mask 255.255.255.0

    persistence_timeout 50 #同一IP的连接60秒内被分配到同一台真实服务器

    protocol TCP  #使用TCP协议检查realserver状态

    real_server 192.168.200.151 80 {  #第一个web服务器

        weight 1  #节点权重值

        TCP_CHECK {  #健康检查方式

            connect_timeout 3  #连接超时

            nb_get_retry 3 #重试次数

            delay_before_retry 3 #重试间隔/S

        }

    }

real_server 192.168.200.152  80 {  #第二个web服务器

        weight 1

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

    149防火墙也要记得关闭

    启动服务:

    service keepalived start

    tail -f  /var/message,查看日志信息

  4.2.6 验证三大功能

    搭建完成,在浏览器输入访问IP(VIP)查看

     VIP(访问IP)http://192.168.200.201 访问IP

    1)转发功能:151  152,发现可以在两台HTTP服务器之间切换

    2)故障移除: 把152机器手动关掉,再查看效果

    service  httpd stop,访问152出现没法连接的效果

    在访问VIP发现始终是访问的151机器,证明负载均衡有故障移除的功能

    3) 恢复添加

    把152机器再手动启动,再查看效果

    service httpd start,发现152重新启动了,再 访问VIP发现可以重新再两台ftp服务器之间切换了

    证明:负载均衡有恢复添加的功能

    4)负载均衡主机关了,备机是否接管它的工作

    搭建备机,150机器上搭建,和上面的步骤一样

    配置文件中将state  Master修改成state  BACKUP

    搭建备机成功

    关闭负载均衡主机149机器,查看150机器是否接管它的工作

    service keepalived stop

    证明负载均衡主机关闭了,备用机确实接管了他的工作

    负载均衡主机备机搭建成功,负载均衡的功能验证通过!

企业高并发的成熟解决方案(一)----搭建LVS负载均衡的更多相关文章

  1. 企业高并发的成熟解决方案(一)video(笔记&知识点)

    知识点 答案 什么是高可用(HA) 高并发发生在哪两处 app服务器会出现什么问题,有哪些解决方案? 数据库并发有什么要求? hadoop集群的作用 负载均衡的功能有哪些 负载均衡的分类 哪种负载均衡 ...

  2. 搭建Lvs负载均衡群集

    一.Lvs详解 lvs内核模型 1.模型分析 用户访问的数据可以进入调度器 匹配调度器分配的虚拟IP|IP+端口(路由走向) 根据调度器的算法确定匹配的服务器 2.调度条件:基于IP.基于端口.基于内 ...

  3. 大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)

    课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普 ...

  4. CentOS7Linux中服务器LVS负载均衡、高可用集群搭建(NAT、DR);

    目录 集群 声明 集群概念 集群特性 Web服务器并发相应瓶颈 集群的分类 LB实现方法: LVS集群 负载调度器 服务器池 共享存储 LVS负载均衡的三种模式 负载均衡 集群 声明 文档不断更新中. ...

  5. 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群

    高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...

  6. Net分布式系统之二:CentOS系统搭建Nginx负载均衡

    一.关于CentOS系统介绍 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat ...

  7. lvs负载均衡的搭建

       lvs负载均衡的搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.         在部署环境前,我们需要了解一下一些协议 一.什么是arp 地址解析协议,即ARP(Addr ...

  8. 亿级Web系统搭建 Web负载均衡的几种实现方式(阿里)

    我还写了两篇详细的 参考:六大Web负载均衡原理与实现 参考:LVS(Linus Virtual Server):三种IP负载均衡方式比较+另三种Web负载均衡方式 其中LVS.HAProxy可以工作 ...

  9. LVS 负载均衡解决方案 (windows IIS)

    LVS 负载均衡解决方案 因为我们的产品运行的主流平台是WINDOWS+IIS+SQLSERVER(2000以上版本),而LVS+KEEPALIVED是LINUX下的四层负载均衡软件.其有如下特点: ...

随机推荐

  1. centos7 firewall 相关

    1.centos 6 是iptables, 7 开始就以firewalld代替iptables; 2.systemctl stop firewalld.service  停 systemctl sta ...

  2. 高能天气——团队Scrum冲刺阶段-Day 1-领航

    高能天气--团队Scrum冲刺阶段-Day 1-领航 各个成员在 Alpha 阶段认领的任务 经过重新的团队讨论,我们最新确定的α版本所需实现内容如下: 查找城市:切换城市按钮.滑动界面视图 天气预报 ...

  3. Django 性能测试

    唐纳德·克努特(Donald Knuth)曾经说过:“不成熟的优化方案是万恶之源.”然而,任何一个承受高负载的成熟项目都不可避免地需要进行优化.在本文中,我想谈谈优化Web项目代码的五种常用方法.虽然 ...

  4. Django-ContentType-signals 实现牛逼玩法

    一.ContentType 在django中,有一个记录了项目中所有model元数据的表,就是ContentType,表中一条记录对应着一个存在的model,所以可以通过一个ContentType表的 ...

  5. qq sid qq sid 是什么 qq sid 怎么用

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha ======= qq sid qq sid  是什么 qq sid  怎么用 ===== ...

  6. beta6

    吴晓晖(组长) 过去两天完成了哪些任务 对手写输入进行了重构,然后重新捋了一下bayes的思路 展示GitHub当日代码/文档签入记录 接下来的计划 推荐算法 还剩下哪些任务 过去两天完成了哪些任务: ...

  7. 从客户端浏览器直传文件到Storage

    关于上传文件到Azure Storage没有什么可讲的,不论我们使用哪种平台.语言,上传流程都如下图所示: 从上图我们可以了解到从客户端上传文件到Storage,是需要先将文件上传到应用服务上,然后再 ...

  8. spring cloud 学习(4) - hystrix 服务熔断处理

    hystrix 是一个专用于服务熔断处理的开源项目,当依赖的服务方出现故障不可用时,hystrix有一个所谓的断路器,一但打开,就会直接拦截掉对故障服务的调用,从而防止故障进一步扩大(类似中电路中的跳 ...

  9. RX库中的IDisposable对象

    IDisposable是.net中的主动资源释放接口,它是在编程过程中经常使用到的一个接口,本文介绍一下微软在Rx.NET中提供的一系列常用的Disposable类,通过它们可以简化我们的程序代码,提 ...

  10. Oracle数据库日期范围查询的两种实现方式

    参考文档:http://database.51cto.com/art/201108/288058.htm Oracle数据库日期范围查询有两种方式:to_char方式和to_date方式,接下来我们通 ...