목차
网站集群部署解决方案
데이터 베이스 MySQL 튜토리얼 Apache+Tomcat+Memcached共享Session的构架设计

Apache+Tomcat+Memcached共享Session的构架设计

Jun 07, 2016 pm 04:30 PM
공유됨

网站集群部署解决方案 一、???????方案目标 实现互动留言系统、后台发布系统的高可用性,有效解决高并发量对单台应用服务器的冲击,确保应用服务器单点故障不影响系统正常运行。 二、???????部署架构 采取Tomcat集群的部署方式,Apache通过proxy_module代理

网站集群部署解决方案

一、???????方案目标

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

二、???????部署架构

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


三、???????完整解决方案

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

序号

角色

IP地址

所需软件

1

Apache生产服务器

10.10.19.1

Apache HTTP Server2.2*( proxy_module、proxy_http_module\proxy_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-serializer,? kryo-serializers-0.10?(0.10 is needed, as 0.20+ is for kryo2),? kryo,? minlog,? reflectasm,? asm-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_module\proxy_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

???BalancerMember ajp://10.10.19.2:8009 route=jvm1

???BalancerMember ajp://10.10.19.3:8009 route=jvm2

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

??? BalancerMember ajp://10.10.19.4:8009route=jvm3

??? BalancerMember ajp://10.10.19.5:8009route=jvm4

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:

???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"

???/>

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

???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"

???/>

l? 生产服务器NO.1:

???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"

???/>

l? 生产服务器NO.2:

???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"

???/>

?

参考文章

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

?


?

作者:xxfigo 发表于2013-5-21 17:01:06 原文链接

阅读:122 评论:0 查看评论

Apache+Tomcat+Memcached共享Session的构架设计

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

WeChat Enterprise에서 화면을 공유하는 방법 WeChat Enterprise에서 화면을 공유하는 방법 Feb 28, 2024 pm 12:43 PM

점점 더 많은 기업이 독점 기업 WeChat을 선택하고 있습니다. 이는 기업과 고객, 파트너 간의 의사소통을 촉진할 뿐만 아니라 업무 효율성도 크게 향상시킵니다. Enterprise WeChat에는 풍부한 기능이 있으며 그 중 화면 공유 기능이 매우 인기가 있습니다. 회의 중에 화면을 공유함으로써 참가자들은 콘텐츠를 보다 직관적으로 표시하고 보다 효율적으로 협업할 수 있습니다. 그렇다면 WeChat Enterprise에서 화면을 효율적으로 공유하는 방법은 무엇입니까? 아직 모르는 사용자를 위해 이 튜토리얼 가이드가 도움이 되기를 바랍니다. WeChat Enterprise에서 화면을 공유하는 방법은 무엇입니까? 1. Enterprise WeChat 메인 인터페이스 왼쪽의 파란색 영역에 "컨퍼런스" 아이콘이 표시됩니다. 클릭하면 세 가지 컨퍼런스 모드가 나타납니다.

친구들과 wallpaperengine을 공유하는 방법 친구들과 wallpaperengine을 공유하는 방법 Mar 18, 2024 pm 10:00 PM

사용자는 WallpaperEngine을 사용할 때 얻은 배경화면을 친구들과 공유할 수 있습니다. 많은 사용자는 자신이 좋아하는 배경화면을 로컬에 저장한 다음 소셜 소프트웨어를 통해 친구들과 공유할 수 있습니다. wallpaperengine을 친구들과 공유하는 방법 답변: 로컬에 저장하고 친구들과 공유하세요. 1. 좋아하는 배경화면을 로컬에 저장한 다음 소셜 소프트웨어를 통해 친구들과 공유하는 것이 좋습니다. 2. 폴더를 통해 컴퓨터에 업로드한 후 컴퓨터의 창작 워크숍 기능을 사용하여 공유를 클릭할 수도 있습니다. 3. 컴퓨터에서 Wallpaperengine을 사용하고 크리에이티브 워크숍의 옵션 막대를 열고

삼성 휴대폰에서 Quick Share 기능이 작동하지 않음 – 수정 삼성 휴대폰에서 Quick Share 기능이 작동하지 않음 – 수정 Sep 19, 2023 pm 04:25 PM

Quick Share를 사용하면 삼성 사용자가 장치 간에 파일을 전송하는 데 많은 시간을 절약할 수 있습니다. 그러나 삼성 갤럭시 사용자들은 휴대폰의 Quick Share 기능에 문제가 있다는 불만을 제기해 왔습니다. 일반적으로 빠른 공유의 가시성 문제로 인해 이 문제가 발생합니다. 따라서 이것은 Galaxy 장치의 Quick Share 기능 문제를 해결하는 데 필요한 유일한 가이드입니다. 수정 1 - 빠른 공유 가시성 설정 변경 휴대폰에서 빠른 공유 가시성 설정을 전환합니다. Quick Share가 잘못된 설정으로 설정되어 이 문제가 발생할 수 있습니다. 1단계 – 먼저 위로 한 번 스와이프하여 앱 서랍을 엽니다. 2단계 – 설정을 엽니다. 3단계 – 설정 페이지로 이동하여 연결된 장치 탭을 엽니다. 4단계 – “빠른 공유” 기능을 켭니다. 5단계

Windows 11 폴더 공유 가이드: 파일과 데이터를 쉽게 공유 Windows 11 폴더 공유 가이드: 파일과 데이터를 쉽게 공유 Mar 13, 2024 am 11:49 AM

일상 생활과 직장에서 우리는 종종 서로 다른 장치 간에 파일과 폴더를 공유해야 합니다. Windows 11 시스템에는 편리한 폴더 공유 기능이 내장되어 있어 개인 파일의 개인 정보를 보호하면서 동일한 네트워크 내에서 다른 사람들과 필요한 콘텐츠를 쉽고 안전하게 공유할 수 있습니다. 이 기능을 사용하면 개인 정보 유출에 대한 걱정 없이 파일을 간단하고 효율적으로 공유할 수 있습니다. Windows 11 시스템의 폴더 공유 기능을 통해 우리는 보다 편리하게 협력하고, 소통하고 협업할 수 있어 업무 효율성과 생활 편의성이 향상됩니다. 공유 폴더를 성공적으로 구성하려면 먼저 다음 조건을 충족해야 합니다. 공유에 참여하는 모든 장치가 동일한 네트워크에 연결되어 있습니다. 네트워크 검색을 활성화하고 공유를 구성합니다. 대상 장치를 알아라

iPhone의 연락처 사진 및 포스터의 개인정보를 보호하는 방법 iPhone의 연락처 사진 및 포스터의 개인정보를 보호하는 방법 Sep 18, 2023 am 10:49 AM

iPhone에서 연락처 사진과 포스터를 볼 수 있는 사람은 누구입니까? Apple은 다른 사람이 전화를 걸거나 메시지를 보낼 때 iPhone에 표시되는 방식을 개인화할 수 있는 옵션을 제공합니다. 옵션에는 미모티콘, 간단한 텍스트 또는 연락처 사진 및 표시 이미지로 효과가 있는 사용자 정의 사진이 포함됩니다. 언제든지 이러한 선택 사항을 자유롭게 변경하고 연락처 카드의 프로필 간에 전환할 수 있습니다. 또한 Apple은 iOS17에서 사진을 보고 액세스하거나 선택한 이미지를 표시할 수 있는 사람을 제어할 수 있는 기능을 제공합니다. 연락처 목록에 저장된 개인과 이를 공유하도록 결정하거나 연락처와 상호 작용할 때마다 메시지가 표시되도록 iPhone을 설정할 수 있습니다. 원하는 경우 이름을 영구적으로 비활성화할 수도 있습니다.

공유 프린터를 프린터에 연결할 수 없습니다 공유 프린터를 프린터에 연결할 수 없습니다 Feb 22, 2024 pm 01:09 PM

디지털 시대의 발전과 함께 공유 프린터는 현대 사무 환경에서 없어서는 안 될 부분이 되었습니다. 그러나 때로는 공유 프린터를 프린터에 연결할 수 없는 문제가 발생할 수 있으며, 이는 작업 효율성에 영향을 미칠 뿐만 아니라 일련의 문제를 일으킬 수도 있습니다. 이 문서에서는 공유 프린터가 프린터에 연결할 수 없는 이유와 해결 방법을 살펴보는 것을 목표로 합니다. 공유 프린터가 프린터에 연결할 수 없는 데에는 여러 가지 이유가 있으며, 그 중 가장 일반적인 것은 네트워크 문제입니다. 공유 프린터와 프린터 간의 네트워크 연결이 불안정하거나 중단되는 경우 정상적인 작동이 불가능합니다.

iPhone iOS 17에서 NameDrop을 사용하는 방법 iPhone iOS 17에서 NameDrop을 사용하는 방법 Sep 22, 2023 pm 11:41 PM

새로운 Apple iPhone15 시리즈 휴대폰이 출시되고 최신 iOS17 모바일 운영 체제가 출시되면서 Apple 기기에 다양한 새로운 기능, 조정 및 개선 사항이 적용되었습니다. 사용자는 iPhone 및 iOS17에서 새로운 NameDrop 기능을 사용하는 방법을 궁금해할 수 있습니다. 이 가이드는 iOS17에서 사용할 수 있는 새로운 NameDrop 시스템을 사용하여 연락처 정보를 빠르고 효율적으로 공유하는 방법에 대한 간략한 개요를 제공합니다. NameDrop은 iPhone 사용자가 자신의 연락처 정보를 다른 사람과 빠르게 공유할 수 있는 기능입니다. 이는 새로운 친구들과 연락처 정보를 교환해야 하는 사교 행사, 비즈니스 미팅 또는 사교 모임을 위한 편리한 도구입니다. 그러나 NameDrop은 새 연락처를 보내는 데에만 작동한다는 점에 유의하는 것이 중요합니다.

Win10 시스템 업데이트 후 프린터를 공유할 수 없는 문제를 해결하는 방법 Win10 시스템 업데이트 후 프린터를 공유할 수 없는 문제를 해결하는 방법 Jul 07, 2023 am 09:25 AM

Win10 시스템 업데이트 후 프린터를 공유할 수 없는 문제를 해결하는 방법은 무엇입니까? 많은 친구들이 win10 시스템으로 업데이트한 후 프린터를 공유할 수 없다고 보고했습니다. 프린터를 공유할 수 없는 문제를 해결하는 방법을 모르는 경우 아래 편집기에서 문제를 해결할 수 있습니다. Win10 시스템 업데이트 후 프린터를 공유할 수 없는 문제에 대한 해결 방법을 정리했습니다. 관심이 있으시면 아래를 살펴보세요! Win10 시스템 업데이트 후 프린터를 공유할 수 없는 문제 해결 방법 1. 먼저 "win+r" 키를 눌러 실행 창을 열고 그림 2와 같이 "control" 명령을 입력하여 제어판 인터페이스를 엽니다. 그런 다음 열린 제어판 인터페이스에서 "프로그램 제거" 옵션을 찾아 연 다음 왼쪽을 클릭합니다.

See all articles