通过集成 WebSphere DataPower XC10 Appliance 与 WebSphere Application Server 来配置 HTTP 会话和提升性能

学习如何修改 WebSphere® Application Server 中的配置设置,从而配置 WebSphere DataPower XC10 Appliance 的 HTTP 会话持久性。

Harish Shenoy, IT 架构师, IBM

Harish 是一名 IBM 认证的 SOA 解决方案设计师。他目前在 IBM India Software Lab 的 BPTSE 团队工作,提供应用程序连通性和应用程序基础架构方面的技术解决方案。他的专长包括 WebSphere Application Server、WebSphere eXtreme Scale、WebSphere Process Server、WebSphere Message Broker 和 BPM。他还获得了 WebSphere Process Server、WMQ,WebSphere Message Broker 和 WebSphere Application Server 的认证。



2013 年 1 月 14 日

简介

许多在 WebSphere Application Server(以下简称 Application Server)上运行的 Java™ 企业应用程序需要持久性的 HTTP 会话,要么是为了避免由于服务器故障导致中断,要么是因为该应用程序使用了 HTTP 会话来存储大量特定于用户的数据。HTTP 会话可持久存储在内存、数据库或者 WebSphere XC10 或 WebSphere eXtreme Scale 提供的任何缓存解决方案中。

使用内存或数据库来存储会话数据时,许多应用程序面临着性能挑战。当应用程序上的负载增加时,扩展和管理数据库或内存是一项极具挑战的任务。由于 HTTP 会话负载的增加,配置数据库的一个副本也成为一项高成本且耗时的任务。

WebSphere DataPower XC10 是 WebSphere eXtreme Scale(一项来自 IBM 的分布式缓存技术)的一个设备版本。XC10 可插入任何 Application Server 基础架构中,并且可以使用 XC10 将 HTTP 会话卸载到设备中。这为通过配置任何 Application Server 环境来获得 HTTP 会话持久性提供了一种轻松而又快捷的选择。当与 Application Server 集成时,XC10 可进一步提高服务质量,减少用于动态缓存和 HTTP 会话持久性的 Application Server 缓存内存需求和磁盘使用。

在 Application Server 上运行的会话密集型的企业应用程序中,会话数据可能会消耗应用服务器上的大量内存,进而限制了给定部署能够处理的活动用户数量。不断增多的用户需要不断增多的服务器,虽然从 CPU 角度讲,服务器并未过载。此外,不断增加的 Application Server 服务器数量也会增加服务器失败的可能性,导致服务器上的用户会话丢失。

XC10 缓存设备可同时解决这两个问题,将会话数据卸载到在某个独立设备上运行的弹性数据网格(缓存),可以独立地扩展这个独立设备来解决用户量问题。当 Application Server 被配置为将会话存储在某个弹性数据网格中时,服务器会维护一个活动用户会话缓存。未放入此缓存中的会话存储在数据网格中。

因此,它们不会消耗 Application Server 上的资源。这使 Application Server 能够管理更多的活动用户,无需为每个服务器提供额外的内存,或者更多的 Application Server 实例。活动用户会话不会在 Application Server 发生故障时丢失,因为所有用户会话都存储在一个高度可用的弹性数据网格中。在服务器发生故障期间,如果用户被定向到不同的 Application Server(它将不包含他们的会话数据),那么会自动从托管在 XC10 上的网格中检索用户的会话,并将它们缓存在新的 Application Server 中。

XC10 提供了一个灵活的管理控制台(参见图 1)。一旦在网络中配置了该设备,就可以从浏览器使用 http://<IPAddress configured for appliance> 访问 XC10 管理控制台。管理控制台提供了以下选项来管理该设备:

  • Data Grid 选项创建 Simple、Dynamic Cache 和 Session 类型的数据网格。
  • Monitor 选项监视在设备中创建的各种数据网格的使用情况。
  • Collective 选项将多个设备配置到一起,以实现高可用性和故障转移。
  • Tasks 选项查看已执行的任务和正在执行的任务的状态。
  • Appliance 选项配置设备的各种设置,并通过查看可用的日志文件来排除设备故障。
图 1. XC10 管理控制台
XC10 管理控制台

在本文中,我们将介绍如何轻松地将 HTTP 会话管理工作从 Application Server 环境卸载到 XC10。可以将 Application Server 上托管的任何企业应用程序都配置为使用 XC10 的会话管理功能。会话存储在一个数据网格中,可从控制台配置该网格。数据网格配置参数可根据性能和监视需求进行调节。


先决条件

您需要安装以下产品,然后才能使用本文中的指令:

  • WebSphere Application Server
  • WebSphere eXtreme Scale Client
  • WebSphere DataPower XC10 Appliance

先决条件设置过程

  1. 使用默认配置文件将 WebSphere Application Server 安装在服务器上。
  2. 将 WebSphere eXtreme Scale Client 安装在服务器上。
  3. 使用 WebSphere eXtreme Scale 功能扩充 WebSphere Application Server 配置文件。

扩充该配置文件后,可在 Application Server 管理控制台中查看该配置文件上的 eXtreme Scale 选项,如图 2 所示。

图 2. 管理控制台显示了具有 eXtreme Scale 客户端的 Application Server 配置文件(参见 图 2 的放大版)
管理控制台显示了具有 eXtreme Scale 客户端的 Application Server 配置文件

设置 XC10 Appliance

您需要使用最新的固件更新来设置 WebSphere XC10 Appliance。可使用该设备提供的 USB 线来配置它。要激活该设备,必须了解有关网络环境的具体细节,包括目标设备 IP 地址、CIDR 格式的子网掩码、子网地址、网关地址、域名服务器 (DNS) 地址和 NTP(时间)服务器地址。DNS 和 NTP 服务器的规范可在 XC10 管理控制台内执行(在网络上激活它之后)。如果在网络中使用了主机名,那么应该适当地设置 XC10 的 DNS 服务器,以便该设备在出现任何回调需求时可连接到 Application Server。

有关的更多细节,请参阅 XC10 安装和配置文档

配置 XC10 后,可以通过 Web 浏览器从任何机器访问控制台(参见图 3):https://<XC10Ipaddress>。默认用户名和密码是 xcadmin/xcadmin

图 3. XC10 管理控制台登录屏幕
XC10 管理控制台登录屏幕

登录到 XC10 控制台后,可看到创建不同类型数据网格的选项,如图 4 所示。对于会话持久性需求,可以从控制台创建一个 “Session” 类型的数据网格,或者可以在从管理控制台配置会话管理属性(下一节将详细介绍)时创建数据网格。

图 4. 具有数据网格选项的 XC10 管理控制台
具有数据网格选项的 XC10 管理控制台

为应用程序配置 HTTP 会话管理

使用 eXtreme Scale 更新服务器并扩充配置文件,以便使用 eXtreme Scale,在此之后,安装在服务器上的任何 Web 应用程序都可使用 eXtreme Scale 功能。在我们的场景中,将展示如何通过为 DefaultApplication 配置 HTTP 会话管理来使用 XC10。

  1. 从 Application Server V8 管理控制台,转到 Applications > WebSphere enterprise applications。这将列出 Application Server V8 上安装的所有应用程序。
  2. 选择您希望为其配置会话管理的应用程序。在我们的场景中,选择的是 DefaultApplication
  3. 从控制台选择 Session Management 选项,如图 5 所示。
  4. 检查 Session Management 选项。选择 extreme scale 会话管理设置,为进行会话管理而配置 XC10 配置。
    图 5. 设置应用程序的会话管理的管理控制台(参见 图 5 的放大版)
    设置应用程序的会话管理的管理控制台
  5. 要编辑会话管理配置,可单击 Session management 选项。在图 6 中,您可以看到设置 eXtreme Scale Session Management 设置的选项。此选项设置了 XC10 设备的详细信息,需要在该设备中持久保存 HTTP 会话。
    图 6. 具有 eXtreme Scale Session Management 选项的管理控制台(参见 图 6 的放大版)
    具有 eXtreme Scale Session Management 选项的管理控制台
  6. 在选择 eXtreme Scale Session Management 设置选项时,您可以看到设置 XC10 设备的会话管理详细信息的屏幕(参见图 7)。选择 Enable Session Management 选项,并提供已在网络中配置的 XC10 设备 IP 地址的详细信息。在会话持久性首选项下,可将持久会话配置为一个现有的数据网格,或者可以为应用程序创建一个新数据网格。在此场景中,我们创建了一个名为 “DefaultApplication” 的新数据网格,如图 7 中所示。您可以使用 “Test Connection” 选项确保提供的详细信息是正确的,并且 XC10 可从 Application Server 连接。
图 7. 包含 XC10 Settings 选项的管理控制台(参见 图 7 的放大版)
包含 XC10 Settings 选项的管理控制台

定义了 XC10 的设置后,如图 7 所示,应用程序就已准备好使用 XC10 中的数据网格来满足 HTTP 会话持久性需求。您可以登录到 XC10 管理控制台,确保已经在 XC10 中创建了 “DefaultApplication” Session 数据网格。


监视 XC10

可使用 XC10 管理控制台监视 XC10 的使用情况。可针对各种场景测试应用程序配置。HTTP 会话对象详细信息(已持久化在 XC10 中)可从 XC10 管理控制台的监视选项中看到。监视选项提供了一个包含 Data Grid Overview、各个数据网格详细信息和数据网格报告的视图。作为参考,您可以针对各种场景测试应用程序,并查看 XC10 中的使用情况。

在图 8 和图 9 中,您可看到来自 XC10 管理控制台的会话数据网格的各种图形。也可以查看放在表格中的相同数据。

图 8. 监视视图显示了数据网格的缓存使用情况
监视视图显示了数据网格的缓存使用情况
图 9. 监视视图显示了数据网格的平均吞吐量
监视视图显示了数据网格的平均吞吐量

配置参数

这一节列出了 Application Server 和 XC10 集成的配置参数。可以在应用程序的性能测试期间根据应用程序需求对它们进行相应调整,以获得更好的吞吐量。我们建议使用最新版的 eXtreme Scale 客户端,并将 XC10 的固件升级到最新的版本。

  1. 以下是 ORB 服务的建议设置:
    com.ibm.CORBA.RequestTimeout=30
    com.ibm.CORBA.LocateRequestTimeout=10
    com.ibm.CORBA.iiop.NoLocalCopies=true
    com.ibm.CORBA.ThreadPool.MinimumSize=256
    com.ibm.CORBA.ThreadPool.MaximumSize=256
    com.ibm.CORBA.ThreadPool.IsGrowable=false
    com.ibm.CORBA.MinOpenConnections=1024
    com.ibm.CORBA.MaxOpenConnections=1024
  2. 正确地设置 XC10 的 DNS 服务器值,以便在使用主机名时 XC10 可以访问 Application Server。这可以使用 “set-dns-servers” 命令完成。
  3. 根据服务器的配置和性能测试的结果相应地修改 ReplicationInterval、SessionTableSize 和 reuseSessionID 参数。这些属性可从 Application Server 端的 eXtreme Scale 客户端属性文件 splicer.properties 设置。

结束语

本文介绍了 WebSphere DataPower XC10 Appliance 的灵活性,并展示了如何使用 XC10 将分布式缓存与 WebSphere Application Server 轻松集成。本文还介绍了如何在 Application Server 上修改各种配置设置,从而为 XC10 配置 HTTP 会话持久性。最后,本文演示了 XC10 的监视功能,以及可能影响集成解决方案性能的配置参数。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=854860
ArticleTitle=通过集成 WebSphere DataPower XC10 Appliance 与 WebSphere Application Server 来配置 HTTP 会话和提升性能
publish-date=01142013