[web architect] nginx1.2.6+ tomcat7+memcached1.2.6

Load Balancer (Nginx)

          /           \

      Cluster1      Cluster2

      /     \        /     \

  Tomcat1 Tomcat2  Tomcat3 Tomcat4

memcached

下载:

Ubuntu:

sudo apt-get install memcached

Windows:

http://www.kuaipan.cn/file/id_18237169873244609.htm

 

启动服务器:

memcached -p 11211 -u memcached -m 64 -M -vv

 

 

客户端访问:

telnet localhost 11211

 

CommandDescriptionExample
getReads a valueget mykey
setSet a key unconditionallyset mykey 0 60 5
addAdd a new keyadd newkey 0 60 5
replaceOverwrite existing keyreplace key 0 60 5
appendAppend data to existing keyappend key 0 60 15
prependPrepend data to existing keyprepend key 0 60 15
incrIncrements numerical key value by given numberincr mykey 2
decrDecrements numerical key value by given numberdecr mykey 5
deleteDeletes an existing keydelete mykey
flush_allInvalidate specific items immediatelyflush_all
Invalidate all items in n secondsflush_all 900
statsPrints general statisticsstats
Prints memory statisticsstats slabs
Prints memory statisticsstats malloc
Print higher level allocation statisticsstats items
stats detail
stats sizes
Resets statisticsstats reset
versionPrints server version.version
verbosityIncreases log levelverbosity
quitTerminate telnet sessionquit

 

http://code.google.com/p/memcached-session-manager/

 

https://github.com/magro/msm-sample-webapp

 

Nginx

 

http {
    server {
        location / {
            root   html;
            index  index.html index.htm;
	    proxy_pass  http://127.0.0.1;
        } 
	upstream 127.0.0.1 {
		server 127.0.0.1:8080 weight=1; 
		server 127.0.0.1:8081 weight=2; 
	} 
}

 

tomcat

server.xml

 

 

D:\tomcat-7.0.34_1

port:8005

D:\tomcat-7.0.34_2

port:8006

 

<Server port="8005" shutdown="SHUTDOWN">
 

 

 

D:\tomcat-7.0.34_1

port:8080

D:\tomcat-7.0.34_2

port:8081

 

 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

 

 

D:\tomcat-7.0.34_1

port:8009

D:\tomcat-7.0.34_2

port:9009

 

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

 

D:\tomcat-7.0.34_1

jvmRoute:tomcat7-1

D:\tomcat-7.0.34_2

jvmRoute:tomcat7-2 

 

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat7-1">
 

D:\tomcat-7.0.34_1

port:4000

D:\tomcat-7.0.34_2

port:4001

 

 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
	<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" />
	<Channel className="org.apache.catalina.tribes.group.GroupChannel">
	   <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000" />
	   <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6" />
	   <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
		  <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender" />
	   </Sender>
	   <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector" />
	   <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor" />
	</Channel>
	<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter="" />
	<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve" />
	<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false" />
	<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener" />
	<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener" />
 </Cluster>

 

 

D:\tomcat-7.0.34_1

docBase:D:/tomcat-7.0.34_1/webapps/test

D:\tomcat-7.0.34_2

docBase:D:/tomcat-7.0.34_2/webapps/test

 

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="D:/tomcat-7.0.34_1/webapps/test" path="" reloadable="true">
	<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:localhost:11211" requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$" sessionBackupAsync="false" sessionBackupTimeout="100" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" copyCollectionsForSerialization="false"/>
</Context>
</Host>

 

D:\tomcat-7.0.34_1\webapps\test\index.jsp

 

<%@ page contentType="text/html; charset=GBK" %> 
<%@ page import="java.util.*" %> 
<html>
   <head>
      <title>Cluster Test</title>
   </head>
   <body> 
    <% 
    System.out.println(session.getId()); 
    out.println("<br> SESSION ID:" + session.getId()+"<br>");   
    %> 
   </body>
</html>

 

D:\tomcat-7.0.34_1\webapps\test\WEB-INF\web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>test</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <distributable/>
</web-app>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值