zoukankan      html  css  js  c++  java
  • Web Sessions Installation

    展示不使用Terracotta DSO如何集群Web Sessions。

      1、要求

        1)jdk1.6或者更高版本

        2)Terracotta 3.7或者更高版本

        3)所有被集群的对象需要实现序列化,如果不想实现序列化,必须使用Terracotta DSO定制Web Sessions的安装

      2、安装Terracotta Sessions jar

        1)为保证兼容性,请使用已安装的Terracotta的jar文件

        2)为了使应用的web Sessions在集群中共享,添加下列jar文件到应用服务器的的lib目录中

    ${TERRACOTTA_HOME}/sessions/terracotta-session-<version>.jar

        ${TERRACOTTA_HOME} 是指Terracotta的安装目录,<version>是指当前使用的terracotta session的版本,我这里就是D:/terracotta/terracotta-3.7.2/sessions/terracotta- session-1.3.1.jar。

    ${TERRACOTTA_HOME}/common/terracotta-toolkit-<API-version>-runtime-ee-<version>.jar

         The Terracotta Toolkit JAR包含了Terracotta客户端类库,<API-version> 就是指Terracotta Toolkit API version. <version>就是当前使用的Terracotta Toolkit JAR版本,我这里就是:D:/terracotta/terracotta-3.7.2/common/terracotta-toolkit- 1.6-runtime-5.2.0.jar

         3)上述session和toolkit的jar文件在各种应用服务器中的存放路径

    Application ServerSuggested Location for Terracotta Sessions JAR File
    JBoss AS (earlier than 6.0) < jboss install dir>/lib
    JBoss AS 6.0 < jboss install dir>/common/lib (REQUIRED)
    JBoss AS 7.0 or 7.1 < jboss install dir>/WEB-INF/lib
    Jetty WEB-INF/lib
    Tomcat 5.0 and 5.5 $CATALINA_HOME/server/lib
    Tomcat 6.0 and 7.0 $CATALINA_HOME/lib
    WebLogic WEB-INF/lib

      3、配置web-session集群

         1)Terracotta servers和Terracotta clients通过 Terracotta配置文件运行在集群中的应用服务器上,默认的配置文件是tc-config.xml,服务器启动的时候不指定配置文件就默认使用 tc-config.xml。

        2)为了把Terracotta集群添加到我们的应用中,需要通过web.xml或者context.xml文件指定Terracotta clients如何获取配置。

        3)Jetty, WebLogic, and WebSphere需要添加以下配置到web.xml文件中

    <filter>     <filter-name>terracotta</filter-name>     <!-- The filter class is specific to the application server. -->      <filter-class>org.terracotta.session.{container-specific-class}</filter-class>     <init-param>         <param-name>tcConfigUrl</param-name>   <!-- <init-param> of type tcConfigUrl has a <param-value> element containing the URL or filepath (for example, /lib/tc-config.xml) to tc-config.xml. If the Terracotta configuration source changes at a later time,  it must be updated in configuration. -->         <param-value>localhost:9510</param-value>     </init-param> </filter> <filter-mapping> <!-- Must match filter name from above. -->  <filter-name>terracotta</filter-name> <url-pattern>/*</url-pattern> <!-- Enable all available dispatchers. --> <dispatcher>ERROR</dispatcher> <dispatcher>INCLUDE</dispatcher>  <dispatcher>FORWARD</dispatcher> <dispatcher>REQUEST</dispatcher> </filter-mapping>

           <filter-class>中的{container-specific-class}根据实际的应用服务器类型选择:

    ContainerValue of <filter-class>
    Jetty 6.1 org.terracotta.session.TerracottaJetty61xSessionFilter
    Jetty 7.4.1 org.terracotta.session.TerracottaJetty74xSessionFilter
    WebLogic 9 org.terracotta.session.TerracottaWeblogic9xSessionFilter
    WebLogic 10 org.terracotta.session.TerracottaWeblogic10xSessionFilter
    WebSphere 6.1 org.terracotta.session.TerracottaWebsphere61xSessionFilter
    WebSphere 7.0 org.terracotta.session.TerracottaWebsphere70xSessionFilter

          4)Tomcat and JBoss AS 6.0 or Earlier

            使用war包发布的应用,如果是tomcat,确保context.xml文件在/META-INF目录下,如果是JBoss,确保context.xml文件在/WEB-INF目录下。

            context.xml文件内容如下:

    <Valve className="org.terracotta.session.{container-specific-class}" tcConfigUrl="localhost:9510"/>

           {container-specific-class}根据实际的应用服务器类型选择:

    ContainerValue of className
    JBoss Application Server 4.0 org.terracotta.session.TerracottaJboss40xSessionValve
    JBoss Application Server 4.2 org.terracotta.session.TerracottaJboss42xSessionValve
    JBoss Application Server 5.1 org.terracotta.session.TerracottaJboss51xSessionValve
    JBoss Application Server 6.0 org.terracotta.session.TerracottaJboss60xSessionValve
    Tomcat 5.0 org.terracotta.session.TerracottaTomcat50xSessionValve
    Tomcat 5.5 org.terracotta.session.TerracottaTomcat55xSessionValve
    Tomcat 6.0 org.terracotta.session.TerracottaTomcat60xSessionValve
    Tomcat 7.0 org.terracotta.session.TerracottaTomcat70xSessionValve

            例如在tomcat6.0中,context.xml内容如下:

    <Context>  <Valve className="org.terracotta.session.TerracottaTomcat60xSessionValve" tcConfigUrl="localhost:9510"/>
    </
    Context>

            确保Terracotta Value是context.xml文件中的第一个<Value>元素。

            如果在tomcat中使用了authenticator,在Terracotta集群运行的时候有可能会遇到UnsupportedOperationException,在tomcat5.5以上可以禁用changeSessionIdOnAuthentication来防止这种错误:

    <Valve changeSessionIdOnAuthentication="false" className="org.apache.catalina.authenticator.BasicAuthenticator"/>

           5)JBoss7.0 or 7.1  

          添加以下内容到WEB-INF/jboss-web.xml中

    <?xml version="1.0" encoding="UTF-8"?><jboss-web>...  <valve>    <class-name>org.terracotta.session.TerracottaJboss7xSessionValve</class-name>              <param>        <param-name>tcConfigUrl</param-name>
    <param-value>localhost:9510</param-value> </param> </valve>...</jboss-web>

     

      4、启动集群

        1)启动 Terracotta server:

          UNIX/Linux

    ${TERRACOTTA_HOME}/bin/start-tc-server.sh &

          Microsoft Windows

    ${TERRACOTTA_HOME}/bin/start-tc-server.bat

        2)启动应用服务器

        3)启动Terracotta 控制台

         UNIX/Linux

    ${TERRACOTTA_HOME}/bin/dev-console.sh &

        Microsoft Windows

    ${TERRACOTTA_HOME}/bin/dev-console.bat

        4)启动控制台后,可以看到集群中Terracotta Server和客户端

      5、Terracotta配置

        这里配置展示如何在分开的机器上运行服务器和客户端,增加容灾(高可用性),扩展集群和添加高可用性可以按照下面的步骤: 

    • Moving the Terracotta server to its own machine
    • Creating a cluster with multiple Terracotta servers
    • Creating multiple application nodes

        1)关闭Terracotta Cluster

        2)创建Terracotta配置文件tc-config.xml:

    <tc:tc-config>
    <
    servers> <!-- Sets where the Terracotta server can be found. Replace the value of host with the server's IP address. --> <server host="server.1.ip.address" name="Server1">   <data>%(user.home)/terracotta/server-data</data>   <logs>%(user.home)/terracotta/server-logs</logs> </server> <!-- If using a standby Terracotta server, also referred to as an ACTIVE-PASSIVE configuration, add the second server here. --> <server host="server.2.ip.address" name="Server2">    <data>%(user.home)/terracotta/server-data</data>    <logs>%(user.home)/terracotta/server-logs</logs> </server> <!-- If using more than one server, add an <ha> section. --> <ha>    <mode>networked-active-passive</mode>    <networked-active-passive>     <election-time>5</election-time>   </networked-active-passive> </ha></servers> <!-- Sets where the generated client logs are saved on clients. -->
    <clients> <logs>%(user.home)/terracotta/client-logs</logs></clients></tc:tc-config>

        3)在tc-config.xml中配置的每一台服务器机器上安装terracotta3.7.2

        4)把tc-config.xml文件复制到每一台服务器中的terracotta Server可以访问的位置

        5)在每一台服务器中按照上面步骤(2、安装Terracotta Sessions jar)安装Terracotta Sessions jar

        6)在每一台应用服务器中配置web.xml或者context.xml

          如果使用的是web.xml,按如下配置:

    <param-value>server.1.ip.address:9510,server.2.ip.address:9510</param-value>

          如果使用的是context.xml,按如下配置:

    tcConfigUrl="server.1.ip.address:9510,server.2.ip.address:9510"

          tc-config.xml中配置了多少台服务器,web.xml或者context.xml就要配置多少。

        7)启动Terracotta Server

        UNIX/Linux

    ${TERRACOTTA_HOME}/bin/start-tc-server.sh -f <path/to/tc-config.xml> -n Server1 &

        Microsoft Windows

    ${TERRACOTTA_HOME}/bin/start-tc-server.bat -f <path/to/tc-config.xml> -n Server1 

        ${TERRACOTTA_HOME}是指terracotta的安装目录

        <path/to/tc-config.xml>是指tc-config.xml文件的完整存放路径

        Server1是指在tc-config.xml文件中配置的ServerName

        在每一台服务器上启动各自的Terracotta Server,注意启动的时候 -n 指定各自的ServerName,第二台和往后启动的Terracotta Server处于备用状态。

        8)在每一台服务器上启动各自的应用服务器

        9)启动Terracotta控制台查看集群

  • 相关阅读:
    linux 中实现两列数据的互换
    linux中 sort h的作用
    max 内置函数,管理uv 编辑器下面的窗口的显示情况
    时时设定 uv 面板的位置,还有就是 关于属性打开界面的大小
    判断贴图大小很好 同时可以判断文件大小
    两条线中画终点
    锁定控制器,一般在绑定的时候很多用到
    用 脚本编辑器读脚本 也是编辑脚本
    进行随机旋转用于和并东西并
    排列顶点 uv 不过有很大问题
  • 原文地址:https://www.cnblogs.com/interdrp/p/3574082.html
Copyright © 2011-2022 走看看