• 服务器安装Apache+Tomcat+Memcached共享Session的构架设计


    网站集群部署解决计划

        一、       计划目标

        实现互动留言系统、后台发布系统的高可用性,有效解决高并发量对单台应用服务器的打击,确保应用服务器单点故障不影响系统正常运行。

        二、       部署架构

        采取Tomcat集群的部署方法,Apache通过proxy_module代理方法对用户的请求进行负载均衡,转发至tomcat集群中的某一实例进行处置,tomcat集群之间通过Memcached高性能缓存集群共享速决Session。详细结构如下图:

        服务器和安装

        三、       完整解决计划

        1、        各服务器所需安装软件列表:

        

    序号

    角色

    IP地址

    所需软件

    1

    Apache出产服务器

    10.10.19.1

    Apache HTTP Server2.2*(proxy_module、proxy_http_moduleproxy_balancer_module

    proxy_ajp_module模块)

    2

    Tomcat互动留言服务器NO.1

    10.10.19.2

    Tomcat 7.0.*,TOMCAT_HOMT/lib下的jar包:

    memcached-session-manager-x.y.z.jar,下载地址

    memcached-session-manager-tc7-x.y.z.jar,

    (或memcached-session-manager-tc6-x.y.z.jar)

    spymemcached-x.y.z.jar,下载地址

    kryo-1.04.jar、kryo-serializers-0.10.jar、asm-3.2.jar、minlog-1.2.jar、msm-kryo-serializer-1.6.3.jar、reflectasm-1.01.jar

    (kryo-serializer: msm-kryo-serializerkryo-serializers-0.10 (0.10 is needed, as 0.20+ is for kryo2), kryominlogreflectasmasm-3.2

    3

    Tomcat互动留言服务器NO.1

    10.10.19.3

    同上

    4

    出产服务器NO.1

    10.10.19.4

    Apache HTTP Server 2.2*(预览站点时应用)

    其他同上

    5

    出产服务器NO.2

    10.10.19.5

    除Apache HTTP Server 2.2*外,其他同上

    6

    Memcached缓存服务器NO.1

    10.10.19.6

    libevent-2.0.21-stable(安装memcached时须要)和memcached1.4.15

    7

    Memcached缓存服务器NO.2

    10.10.19.7

    同上

    8

    数据库服务器

    10.10.18.3

    SQL Server 2008 R2

        2、        安装步骤:

        1)编译安装Apache2.2*,除网站必须应用的模块外,参加proxy_module、proxy_http_moduleproxy_balancer_module

        每日一道理 
    生命不是一篇"文摘",不接受平淡,只收藏精彩。她是一个完整的过程,是一个"连载",无论成功还是失败,她都不会在你背后留有空白;生命也不是一次彩排,走得不好还可以从头再来,她绝不给你第二次机会,走过去就无法回头。

        proxy_ajp_module模块。按如下方法配置Apache对jsp页面的请求进行负载均衡:

        l  发布服务器:

        LoadModule proxy_module modules/mod_proxy.so

        LoadModule proxy_http_modulemodules/mod_proxy_http.so

        LoadModule proxy_balancer_modulemodules/mod_proxy_balancer.so

        LoadModuleproxy_ajp_module  modules/mod_proxy_ajp.so

        <Proxy balancer://cluster>

       BalancerMember ajp://10.10.19.2:8009 route=jvm1

       BalancerMember ajp://10.10.19.3:8009 route=jvm2

        </Proxy>

        ProxyPass/ balancer://cluster/ stickysession=JSESSIONID|jsessionid

        l  出产服务器NO.1:

        LoadModule proxy_module modules/mod_proxy.so

        LoadModule proxy_http_module modules/mod_proxy_http.so

        LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

        LoadModule proxy_ajp_module  modules/mod_proxy_ajp.so

        <Proxy balancer://cluster>

        BalancerMember ajp://10.10.19.4:8009route=jvm3

        BalancerMember ajp://10.10.19.5:8009route=jvm4

        </Proxy>

        ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid

        2)编译安装Memcached

        注意,安装Memcached须要首先安装libevent-2.0.21-stable

        启动Memcached:

        memcached -d -m 4096 -l localhost -p 11211-u root

        给出memcached启动命令参数详解.

        -d选项是启动一个守护进程,

        -m是分配给Memcache应用的内存数量,单位是MB,我这里是10MB,

        -u是运行Memcache的用户,我这里是root,

        -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,

        -p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,

        -c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,

        -P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

        -p 应用的TCP端口。默认为11211

        -m 最大内存大小。默认为64M

        -vv 用very vrebose模式启动,调试信息和错误输出到控制台

        -d 作为daemon在后台启动

        3)安装Java环境和Tomcat7.*。

        将下载实现的9个jar包放入TOMCAT_HOME/lib文件夹下,并按如下修改Tomcat的配置文件TOMCAT_HOME/conf/context.xml:

        l  Tomcat互动留言服务器NO.1:

        <Context>

        <ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"

       memcachedNodes="n1:10.10.19.6:11211,n2:10.10.19.7:11211"

        /*此前安装的两个Memcached服务器的IP地址,Memcached默认端口号为11211*/

       failoverNodes="n1"

       requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"

       transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

       />

        </Context>

        l  Tomcat互动留言服务器NO.2:

        <Context>

        <ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"

       memcachedNodes="n1:10.10.19.6:11211,n2:19.7:11211"

        /*此前安装的两个Memcached服务器的IP地址,Memcached默认端口号为11211*/

       failoverNodes="n2"

       requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"

       transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

       />

        </Context>

        l  出产服务器NO.1:

        <Context>

        <ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"

       memcachedNodes="n1:10.10.19.6:11211,n2:19.7:11211"

        /*此前安装的两个Memcached服务器的IP地址,Memcached默认端口号为11211*/

       failoverNodes="n1"

       requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"

       transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

       />

        </Context>

        l  出产服务器NO.2:

        <Context>

        <ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"

       memcachedNodes="n1:10.10.19.6:11211,n2:19.7:11211"

        /*此前安装的两个Memcached服务器的IP地址,Memcached默认端口号为11211*/

       failoverNodes="n2"

       requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"

       transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

       />

        </Context>

        参考文章

        1、        https://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

        2、        http://www.bradchen.com/blog/2012/12/tomcat-auto-failover-using-apache-memcached

        3、        http://blog.csdn.net/ichsonx/article/details/6911358

        4、        http://www.linuxidc.com/Linux/2012-08/69312.htm

  • 相关阅读:
    平衡二叉树之RB树
    平衡二叉树之AVL树
    实现哈希表
    LeetCode Median of Two Sorted Arrays
    LeetCode Minimum Window Substring
    LeetCode Interleaving String
    LeetCode Regular Expression Matching
    PAT 1087 All Roads Lead to Rome
    PAT 1086 Tree Traversals Again
    LeetCode Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/hllnj2008/p/3992621.html
Copyright © 2020-2023  润新知