• 集群


    集群:
    apache、nginx
    tomcat:理论上,单节点tomcat能够稳定处理请求并发量200-300
    负载均衡

    失败迁移

    服务端集群:
    a.水平集群:将服务器安装在各个不同的计算机上(失败迁移)
    b.垂直集群:将多个服务器,安装在同一个计算机上(负载均衡)
    c.水平+垂直

    搭建集群:
    apache:特点是处理静态资源(html 图片 js)这里的apache是个服务工具
    tomcat:特点 ,可以 处理动态资源
    apache+tomcat:动静分离

    apache :请求的分流操作

    下载apache服务器工具

    删除服务
    sc delete 服务名

    配置:
    conf/http.conf
    Define SRVROOT "D:clusterApache24"
    可以将apache配置成windows服务:
    管理员身份打开cmd,通过命令注册apache服务

    "D:clusterApache24inhttpd.exe" -k install -n apache24

    注册成功后,启动,localhost查看是否成功访问

    准备tomcat:复制两份,改端口
    i.规划并修改端口:
    server端口号 http协议端口 ajp协议端口号
    tomcat-a 1005 1080 1009
    tomcat-b 2005 2080 2009

    ii.配置引擎Engine:server.xml
    增加jvmRoute
    <Engine defaultHost="localhost" name="Catalina" jvmRoute="tomcat-a">
    <Engine defaultHost="localhost" name="Catalina" jvmRoute="tomcat-b">
    iii.打开集群开关:server.xml
    打开以下注释
    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

    tomcat集合配置+apache启动
    ->结合:mod_jk.so 下载

    配置mod_jk.so:
    a.存放位置;Apache24modulesmod_jk.so
    b.配置 Apache24confworkers.properties


    分享session策略
    1.sticky:固定将每一个用户的请求分给特定的服务器,后期的请求不会分给其他服务器
    2.session广播:自动同步session
    弊端:如果服务器太多,可能造成广播风暴(建一个服务器的session,需要同步到其他所有的服务器中)
    3.集中管理方式(推荐):将各服务器的session集群存储到一个数据库中

    c.配置mod_jk.conf(用于加载mod_jk.so和workers.properties)

    其中JkMount /* controller,表示拦截一切请求。

    mod_jk.so workers.properties->mod_jk.conf->apache程序会自动加载httpd.conf

    配置httpd.conf:在apache启动时自动加载mod_jk.conf 追加include conf/mod_jk.conf

    集群:应用阶段、部署实施

    CATALINA_HOME会使启动tomcat时,自动开启CATALINA_HOME指定的tomcat。而集群中们需要开启多个不同的tomcat,因此再单击环境下,需要删除CATALINA_HOME

    依次启动apache、tomcata、tomcatb

    原因:apache之前已经成功运行,但是重启失败
    分析思路:成功运行的时机;第一次运行
    失败时间:apache+tomcat整合
    所以问题在于整合

    测试:失败迁移 负载均衡 session共享(未实现 )


    解决bug


    细节:
    apache:
    worker.list=controller,tomcata,tomcatb


    tomcat配置:(只需要保证 所有tomcat的jvmRoute不能重名即可 ,可以和apache中的命名不一致)
    jvmRoute="tomcat-a"
    jvmRoute="tomcat-b"

    流程:apache->workers.properties中配置的 ip:端口 找到具体的tomcat服务(与tomcat中的jvmRoute="tomcat-a"的没有关系)

    tomcat服务的目录名:(任意)
    tomcata
    tomcatb

     ps:session共享 未能实现,有空再试试 !

  • 相关阅读:
    [工作札记]01: CS系统中分页控件的制作
    【非技术】试占新型肺炎的情况与发展趋势
    给培训学校讲解ORM框架的课件
    SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建
    SAAS云平台搭建札记: (一) 浅论SAAS多租户自助云服务平台的产品、服务和订单
    开源三维地球GIS引擎Cesium常用功能的开发
    Asp.net管理信息系统中数据统计功能的实现
    [Thrift]学习使用Thrift
    使用Netty实现一下简单RPC
    [Redis]Redis做简单的分布式限流
  • 原文地址:https://www.cnblogs.com/mayouyou/p/13172721.html
Copyright © 2020-2023  润新知