您的位置:首页 > Web前端 > JQuery

jquery设置radio选中用法

2016-01-12 20:00 861 查看
原网址:http://javadrama.blogspot.com/2012/10/terracotta-and-tomcat-clustering-page-1.html

In this tutorial we will learn a lot of stuff :)

How to install Terracotta in an Active/Passive HA (High Availability) model.

How to configure Tomcat 6.0 to store/retrieve sessions on Terracotta.

How to install and configure Apache Web Server configure it to relay requests to Tomcat.

Why?

i can do session replication using Tomcat built-in clustering module, so why do i use Terracotta?
well, the Tomcat clustering works just perfect with major four concerns:

Clients' sessions data are part of the Tomcat JVM instance.

There is extra work for Tomcat to make sure that the sessions and its data are replicated among the cluster

not suitable for larger cluster because of using multicasting, imagine the network traffic generated by eight tomcat nodes replicating their sessions.

You can't store an object which is not serializable.

So, moving this responsibility to Terracotta would help eliminating those four concerns.

Our Final architecture 




 
 
it is really simple:
 

Both Tomcats store/retrieve sessions on the active Terracotta server.

Apache web server forwards requests to both Tomcats.

If the active Terracotta fails the passive Terracotta will be the active.

Let's Digg in

First things first! we need:

terracotta-3.7.0-installer.jar

apache-tomcat-6.0.35

mod_jk.so

httpd-2.2.22

JDK 1.6

My five servers built on a single windows 7 box as a POC, you should have no troubles with running the same example on Linux, only minor chages are needed.

Install and Configure Terracotta

open a terminal and change the directory to the place where you downloaded terracotta-3.7.0-installer.jar

config directory called tc-config.xml with the following content:

[code;'><tc-config xmlns="/config">
<servers secure="false" xmlns:tc="/config" xmlns:con="/config" xmlns="">
<server bind="0.0.0.0" host="127.0.0.1" name="node1">
<data>C:\terracotta\server-data</data>
<logs>C:\terracotta\server-logs</logs>
<statistics>C:\terracotta\server-statistics</statistics>
<dso-port bind="0.0.0.0">9510</dso-port>
<jmx-port bind="0.0.0.0">9520</jmx-port>
<l2-group-port bind="0.0.0.0">9530</l2-group-port>
<data-backup>C:\terracotta\data-backup</data-backup>
<index>C:\terracotta\server-data\index</index>
<dso>
<client-reconnect-window>120</client-reconnect-window>
<persistence>
<mode>temporary-swap-only</mode>
</persistence>
<garbage-collection>
<enabled>true</enabled>
<verbose>false</verbose>
<interval>3600</interval>
</garbage-collection>
</dso>
</server>
<server bind="0.0.0.0" host="127.0.0.1" name="node2">
<data>C:\terracotta\server-data2</data>
<logs>C:\terracotta\server-logs2</logs>
<statistics>C:\terracotta\server-statistics2</statistics>
<dso-port bind="0.0.0.0">9511</dso-port>
<jmx-port bind="0.0.0.0">9521</jmx-port>
<l2-group-port bind="0.0.0.0">9531</l2-group-port>
<data-backup>C:\terracotta\data-backup2</data-backup>
<index>C:\terracotta\server-data\index2</index>
<dso>
<client-reconnect-window>120</client-reconnect-window>
<persistence>
<mode>temporary-swap-only</mode>
</persistence>
<garbage-collection>
<enabled>true</enabled>
<verbose>false</verbose>
<interval>3600</interval>
</garbage-collection>
</dso>
</server>
<mirror-groups>
<mirror-group>
<members>
<member>node1</member>
<member>node2</member>
</members>
</mirror-group>
</mirror-groups>
<ha>
<mode>networked-active-passive</mode>
<networked-active-passive>
<election-time>5</election-time>
</networked-active-passive>
</ha>
<update-check>
<enabled>true</enabled>
<period-days>7</period-days>
</update-check>
</servers>
<system xmlns:tc="/config" xmlns:con="/config" xmlns="">
<configuration-model>production</configuration-model>
</system>

<clients xmlns:tc="/config" xmlns:con="/config" xmlns="">
<logs>%(user.home)/terracotta/client-logs</logs>
<modules>
<module name="terracotta-toolkit-1.6" group-id="org.terracotta.toolkit"/>
</modules>
</clients>
</tc-config>


 

for each Terracotta server that will run in the cluster you need to define a server node.

the server tag has three attributes:

bind: the default bind address which Terracotta listen to.

host: the IP address that will be used to connect to the Terracotta server.

name: the name of this node

data: is where this server stores its data (make it unique for each server if you are running the cluster on one box)

logs: is where the server store its logs (make it unique for each server if you are running the cluster on one box)

statistics:  is where the server store its statistics (make it unique for each server if you are running the cluster on one box)

port configurations: JMX, DSO and group ports (make it unique for each server if you are running the cluster on one box)

data-backup: is where the server store its data backups  (make it unique for each server if you are running the cluster on one box)

index: is where the server store its index files  (make it unique for each server if you are running the cluster on one box)

dso: is the Distributed Shared Objects specific options.

we have now defined two servers, we need to define how they would work.

mirror-group: a tag to define Terracotta groups 

members: a tag to add a server to a group using its name

ha: is a tag to define the High Availability options of the group

mode: networked-active-passive it means that the communications between the servers will relay on networking.

election-time: the Terracotta server would wait for that time to decide if it should start as an Active or passive.

let's start out cluster an make sure everything is OK.
 

open three consoles and navigate to ${TC_HOME}\bin on the three of them

Start node1
start-tc-server.bat -f ..\config\tc-config.xml -n node1

you should see
Terracotta Server instance has started up as ACTIVE node on 0.0.0.0:9510 successfully, and is now ready for work.


NodeID[127.0.0.1:9510] joined the cluster
Moved to State[ PASSIVE-UNINITIALIZED ]
Moved to State[ PASSIVE-STANDBY ]
[/code]

dev-console.bat
[/code]
connect to either 127.0.0.1:9520 or 127.0.0.1:9521, you should see this screen




 
as per the screen shot, node1 is active and node2 is passive, play around by taking node1 down and see if node2 becomes the active and then Vice Versa.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: