Linux基于heartbeat配置httpd高可用服务

Heartbeat是一个基于Linux开源的,被广泛使用的高可用集群系统。我们可以基于Heartbeat构建web高可用服务环境。本文在CentOS 6.5下做了一个简单示例,并对其日志进行了初步分析,供大家参考。

有关Heartbeat的相关知识,可以参考: Heartbeat 集群组件概述 Heartbeat 安装及配置

一、配置host解析及网络

###主机名配置,与/etc/hosts中的解析两者配置保持一致
[root@orasrv1 ~]# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=orasrv1.xlk.com

[root@orasrv1 ~]# more /etc/hosts

127.0.0.1 localhost.localdomain localhost

#public ip
192.168.21.10 orasrv1.xlk.com orasrv1    ###node 1
192.168.21.13 orasrv2.xlk.com orasrv2    ###node 2

#private ip
192.168.144.128 orasrv1-priv.xlk.com orasrv1-priv
192.168.144.129 orasrv2-priv.xlk.com orasrv2-priv

[root@orasrv1 ~]# scp /etc/hosts orasrv2:/etc/hosts

[root@orasrv1 ~]# ifconfig |grep eth -A1
eth0      Link encap:Ethernet  HWaddr 00:0C:29:35:31:E5   #eth0对外提供服务
          inet addr:192.168.21.10  Bcast:192.168.21.255  Mask:255.255.255.0
--
eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:31:EF   #eth1用作心跳网络
          inet addr:192.168.144.128  Bcast:192.168.144.255  Mask:255.255.255.0

二、配置等效性

###节点1
# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
# ssh-copy-id -i ./.ssh/id_rsa.pub root@192.168.21.13
# ssh orasrv2 date;ssh 192.168.21.13 date;

###节点2
# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
# ssh-copy-id -i ./.ssh/id_rsa.pub root@192.168.21.10
# ssh orasrv1 date;ssh 192.168.21.10 date;

三、配置时间同步

此处略。可以参考:配置Linux 11G R2 RAC NTP服务

四、安装httpd

节点1:orasrv1
    # yum install httpd
    # service httpd start   ###启动服务
    # echo "orasrv1.xlk.com" >>/var/www/html/index.html
    ###打开浏览器看看能否正常访问,http://192.168.21.10/index.html
    ###如能正常访问,关闭服务,关闭自启动
    # service httpd stop
    # chkconfig httpd off

    节点2:orasrv2
    # yum install httpd
    # service httpd start   ###启动服务
    # echo "orasrv2.xlk.com" >>/var/www/html/index.html
    ###打开浏览器看看能否正常访问,http://192.168.21.13/index.html
    ###如能正常访问,关闭服务,关闭自启动
    # service httpd stop
    # chkconfig httpd off   

五、配置heartbeat

1、配置认证方式
    [root@orasrv1 ~]# vi /etc/ha.d/authkeys |grep -v ^#
    auth 1
    1 md5 74a6a503b5bec9373b22bb630608df41  ###使用md5验证

    [root@orasrv1 ~]# chmod 600 /etc/ha.d/authkeys 

2、配置ha.cf
    [root@orasrv1 ~]# vi /etc/ha.d/ha.cf
    logfile /var/log/ha-log
    keepalive       2
    deadtime        15
    warntime        10
    initdead        60
    udpport         694
    bcast           eth1
    auto_failback   off
    node orasrv1.xlk.com
    node orasrv2.xlk.com
    ping 192.168.21.254
    #respawn hacluster  /usr/lib64/heartbeat/ipfail

3、配置haresources
    [root@orasrv1 ~]# vi /etc/ha.d/haresources
    orasrv1.xlk.com IPaddr::192.168.21.1/24/eth0 httpd

4、同步到第二节点
    # scp -p /etc/ha.d/{ha.cf,authkeys,haresources} 192.168.21.13:/etc/ha.d/

六、验证测试

1、节点1启动heartbeat
###备注:本样例并未使用到共享文件系统,如配置drbd,或者nfs等。
[root@orasrv1 ~]# service heartbeat start
Starting High-Availability services:
2015/11/06_11:46:51 INFO:  Resource is stopped ###此处提示资源处于停止状态
Done.

###以下为基于节点1上的日志分析
[root@orasrv1 ~]# tail -fn 50 /var/log/ha-log
heartbeat[4373]: 2015/11/06_11:46:51 info: Version 2 support: false
heartbeat[4373]: 2015/11/06_11:46:51 WARN: Logging daemon is disabled --enabling logging daemon is recommended
heartbeat[4373]: 2015/11/06_11:46:51 info: **************************
heartbeat[4373]: 2015/11/06_11:46:51 info: Configuration validated. Starting heartbeat 2.1.4
heartbeat[4374]: 2015/11/06_11:46:51 info: heartbeat: version 2.1.4
heartbeat[4374]: 2015/11/06_11:46:52 info: Heartbeat generation: 1446714158
heartbeat[4374]: 2015/11/06_11:46:52 info: glib: UDP Broadcast heartbeat started on port 694 (694) interface eth0
heartbeat[4374]: 2015/11/06_11:46:52 info: glib: UDP Broadcast heartbeat closed on port 694 interface eth0 - Status: 1
heartbeat[4374]: 2015/11/06_11:46:52 info: glib: ping heartbeat started.
heartbeat[4374]: 2015/11/06_11:46:52 info: G_main_add_TriggerHandler: Added signal manual handler
heartbeat[4374]: 2015/11/06_11:46:52 info: G_main_add_TriggerHandler: Added signal manual handler
heartbeat[4374]: 2015/11/06_11:46:52 info: G_main_add_SignalHandler: Added signal handler for signal 17
heartbeat[4374]: 2015/11/06_11:46:52 info: Local status now set to: 'up'
heartbeat[4374]: 2015/11/06_11:46:52 info: Link 192.168.21.254:192.168.21.254 up.
heartbeat[4374]: 2015/11/06_11:46:52 info: Status update for node 192.168.21.254: status ping
heartbeat[4374]: 2015/11/06_11:46:52 info: Link orasrv1.xlk.com:eth0 up.
heartbeat[4374]: 2015/11/06_11:47:52 WARN: node orasrv2.xlk.com: is dead
###上面的日志可以看出节点1上的heartbeat已经成功启动,此时尚未开始分配资源
###紧接着下面的提示节点2处于死亡状态,其时间间隔为60s(46:52s~47:52s),即我们配置文件中的initdead
###也就是说等待1分钟还没有探测到对方心跳,此时认为节点2死亡,注意,这里的死亡不等同于deadtime

###下面开始资源分配
heartbeat[4374]: 2015/11/06_11:47:52 info: Comm_now_up(): updating status to active
heartbeat[4374]: 2015/11/06_11:47:52 info: Local status now set to: 'active'
heartbeat[4374]: 2015/11/06_11:47:52 WARN: No STONITH device configured.
heartbeat[4374]: 2015/11/06_11:47:52 WARN: Shared disks are not protected.
heartbeat[4374]: 2015/11/06_11:47:52 info: Resources being acquired from orasrv2.xlk.com.
harc[4385]:     2015/11/06_11:47:52 info: Running /etc/ha.d/rc.d/status status
mach_down[4419]:        2015/11/06_11:47:52 info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
mach_down[4419]:        2015/11/06_11:47:52 info: mach_down takeover complete for node orasrv2.xlk.com.
heartbeat[4374]: 2015/11/06_11:47:52 info: Initial resource acquisition complete (T_RESOURCES(us))
heartbeat[4374]: 2015/11/06_11:47:52 info: mach_down takeover complete.
IPaddr[4457]:   2015/11/06_11:47:52 INFO:  Resource is stopped
heartbeat[4386]: 2015/11/06_11:47:52 info: Local Resource acquisition completed.
harc[4518]:     2015/11/06_11:47:52 info: Running /etc/ha.d/rc.d/ip-request-resp ip-request-resp
ip-request-resp[4518]:  2015/11/06_11:47:52 received ip-request-resp IPaddr::192.168.21.1/24/eth0 OK yes
ResourceManager[4537]:  2015/11/06_11:47:52 info: Acquiring resource group: orasrv1.xlk.com IPaddr::192.168.21.1/24/eth0 httpd
IPaddr[4563]:   2015/11/06_11:47:52 INFO:  Resource is stopped ###上一条日志获取资源组,下一条日志启动资源
ResourceManager[4537]:  2015/11/06_11:47:52 info: Running /etc/ha.d/resource.d/IPaddr 192.168.21.1/24/eth0 start
IPaddr[4658]:   2015/11/06_11:47:53 INFO: Using calculated netmask for 192.168.21.1: 255.255.255.0
IPaddr[4658]:   2015/11/06_11:47:53 INFO: eval ifconfig eth0:0 192.168.21.1 netmask 255.255.255.0 broadcast 192.168.21.255
IPaddr[4629]:   2015/11/06_11:47:53 INFO:  Success ###vip 分配成功
ResourceManager[4537]:  2015/11/06_11:47:53 info: Running /etc/init.d/httpd  start ###开启httpd服务
heartbeat[4374]: 2015/11/06_11:48:03 info: Local Resource acquisition completed. (none)
heartbeat[4374]: 2015/11/06_11:48:03 info: local resource transition completed.

###验证VIP分配,如下,eth0:0上已获得VIP
[root@orasrv1 ~]# ifconfig |grep eth -A1
eth0      Link encap:Ethernet  HWaddr 00:0C:29:35:31:E5
          inet addr:192.168.21.10  Bcast:192.168.21.255  Mask:255.255.255.0
--
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:35:31:E5
          inet addr:192.168.21.1  Bcast:192.168.21.255  Mask:255.255.255.0
--
eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:31:EF
          inet addr:192.168.144.128  Bcast:192.168.144.255  Mask:255.255.255.0

###验证httpd服务,如下,此时透过VIP访问到主页,从orasrv1,即节点1返回数据
http://192.168.21.1/index.html
orasrv1.xlk.com

2、节点2启动heartbeat
[root@orasrv2 ~]# service heartbeat start
Starting High-Availability services:
2015/11/06_11:50:22 INFO:  Resource is stopped
Done.

###下面的日志为节点1,继续跟踪节点1的日志
###从下面的日志可以得知orasrv2.xlk.com: status up以及remote resource transition completed
heartbeat[4374]: 2015/11/06_11:50:23 info: Link orasrv2.xlk.com:eth0 up.
heartbeat[4374]: 2015/11/06_11:50:23 info: Status update for node orasrv2.xlk.com: status init
heartbeat[4374]: 2015/11/06_11:50:23 info: Status update for node orasrv2.xlk.com: status up
harc[4809]:     2015/11/06_11:50:23 info: Running /etc/ha.d/rc.d/status status
harc[4825]:     2015/11/06_11:50:23 info: Running /etc/ha.d/rc.d/status status
heartbeat[4374]: 2015/11/06_11:50:25 info: Status update for node orasrv2.xlk.com: status active
harc[4840]:     2015/11/06_11:50:25 info: Running /etc/ha.d/rc.d/status status
heartbeat[4374]: 2015/11/06_11:50:25 info: remote resource transition completed.

3、节点1停止heartbeat
###通过下面的命令来停止节点1上的heartbeat
[root@orasrv1 ~]# service heartbeat stop
Stopping High-Availability services:
Done.

###此时继续观察节点1的日志变化情况
heartbeat[4374]: 2015/11/06_11:53:13 info: Heartbeat shutdown in progress. (4374)
heartbeat[4873]: 2015/11/06_11:53:13 info: Giving up all HA resources. ###节点1开始放弃资源
ResourceManager[4886]:  2015/11/06_11:53:14 info: Releasing resource group: orasrv1.xlk.com IPaddr::192.168.21.1/24/eth0 httpd
ResourceManager[4886]:  2015/11/06_11:53:14 info: Running /etc/init.d/httpd  stop ###停止httpd服务
ResourceManager[4886]:  2015/11/06_11:53:14 info: Running /etc/ha.d/resource.d/IPaddr 192.168.21.1/24/eth0 stop
IPaddr[4975]:   2015/11/06_11:53:14 INFO: ifconfig eth0:0 down
IPaddr[4946]:   2015/11/06_11:53:14 INFO:  Success
heartbeat[4873]: 2015/11/06_11:53:14 info: All HA resources relinquished.
###所有的HA资源在节点1放弃完毕,下面开始kill heartbeat相关进程
heartbeat[4374]: 2015/11/06_11:53:15 WARN: 1 lost packet(s) for [orasrv2.xlk.com] [95:97]
heartbeat[4374]: 2015/11/06_11:53:15 info: No pkts missing from orasrv2.xlk.com!
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBREAD process 4381 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBFIFO process 4377 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBWRITE process 4378 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBREAD process 4379 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBWRITE process 4380 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4378 exited. 5 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4379 exited. 4 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4381 exited. 3 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4377 exited. 2 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4380 exited. 1 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: orasrv1.xlk.com Heartbeat shutdown complete.

###观察节点2,此时也获取VIP
[root@orasrv2 ~]# ifconfig |grep eth -A1
eth0      Link encap:Ethernet  HWaddr 00:0C:29:F1:2E:E4  #Author : Leshami
          inet addr:192.168.21.13  Bcast:192.168.21.255  Mask:255.255.255.0
--
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:F1:2E:E4  #Blog : http://blog.csdn.net/leshami
          inet addr:192.168.21.1  Bcast:192.168.21.255  Mask:255.255.255.0
--
eth1      Link encap:Ethernet  HWaddr 00:0C:29:F1:2E:EE
          inet addr:192.168.144.129  Bcast:192.168.144.255  Mask:255.255.255.0

###验证httpd服务,如下,此时透过VIP访问到主页,从orasrv2,即节点2返回数据
http://192.168.21.1/index.html
orasrv2.xlk.com       

4、使用hb_standby切换
###下面通过hb_standby将服务切换回节点1,切换前启动节点1上的heartbeat
[root@orasrv2 ~]# /usr/share/heartbeat/hb_standby
2015/11/06_11:56:05 Going standby [all].

###继续跟踪节点1的日志
heartbeat[5114]: 2015/11/06_11:55:23 info: Version 2 support: false
heartbeat[5114]: 2015/11/06_11:55:23 WARN: Logging daemon is disabled --enabling logging daemon is recommended
heartbeat[5114]: 2015/11/06_11:55:23 info: **************************
heartbeat[5114]: 2015/11/06_11:55:23 info: Configuration validated. Starting heartbeat 2.1.4
heartbeat[5115]: 2015/11/06_11:55:23 info: heartbeat: version 2.1.4
heartbeat[5115]: 2015/11/06_11:55:23 info: Heartbeat generation: 1446714159
heartbeat[5115]: 2015/11/06_11:55:23 info: glib: UDP Broadcast heartbeat started on port 694 (694) interface eth0
heartbeat[5115]: 2015/11/06_11:55:23 info: glib: UDP Broadcast heartbeat closed on port 694 interface eth0 - Status: 1
heartbeat[5115]: 2015/11/06_11:55:23 info: glib: ping heartbeat started.
heartbeat[5115]: 2015/11/06_11:55:23 info: G_main_add_TriggerHandler: Added signal manual handler
heartbeat[5115]: 2015/11/06_11:55:23 info: G_main_add_TriggerHandler: Added signal manual handler
heartbeat[5115]: 2015/11/06_11:55:23 info: G_main_add_SignalHandler: Added signal handler for signal 17
heartbeat[5115]: 2015/11/06_11:55:23 info: Local status now set to: 'up'
heartbeat[5115]: 2015/11/06_11:55:23 info: Link 192.168.21.254:192.168.21.254 up.
heartbeat[5115]: 2015/11/06_11:55:23 info: Status update for node 192.168.21.254: status ping
heartbeat[5115]: 2015/11/06_11:55:23 info: Link orasrv1.xlk.com:eth0 up.
heartbeat[5115]: 2015/11/06_11:55:25 info: Link orasrv2.xlk.com:eth0 up.
heartbeat[5115]: 2015/11/06_11:55:25 info: Status update for node orasrv2.xlk.com: status active
harc[5124]:     2015/11/06_11:55:25 info: Running /etc/ha.d/rc.d/status status
heartbeat[5115]: 2015/11/06_11:55:25 info: Comm_now_up(): updating status to active
heartbeat[5115]: 2015/11/06_11:55:25 info: Local status now set to: 'active'
heartbeat[5115]: 2015/11/06_11:55:26 info: remote resource transition completed.
heartbeat[5115]: 2015/11/06_11:55:26 info: remote resource transition completed.
heartbeat[5115]: 2015/11/06_11:55:26 info: Local Resource acquisition completed. (none)
heartbeat[5115]: 2015/11/06_11:55:26 info: Initial resource acquisition complete (T_RESOURCES(them))
###上面的日志表面,此时节点1已经启动完毕,并且2节点均处于活动状态

###下面是开启hb_standby之后输出的日志信息,所有的资源被节点1接管
heartbeat[5115]: 2015/11/06_11:56:06 info: orasrv2.xlk.com wants to go standby [all]
heartbeat[5115]: 2015/11/06_11:56:06 info: standby: acquire [all] resources from orasrv2.xlk.com
heartbeat[5143]: 2015/11/06_11:56:06 info: acquire all HA resources (standby).
ResourceManager[5156]:  2015/11/06_11:56:06 info: Acquiring resource group: orasrv1.xlk.com IPaddr::192.168.21.1/24/eth0 httpd
IPaddr[5182]:   2015/11/06_11:56:06 INFO:  Resource is stopped
ResourceManager[5156]:  2015/11/06_11:56:06 info: Running /etc/ha.d/resource.d/IPaddr 192.168.21.1/24/eth0 start
IPaddr[5277]:   2015/11/06_11:56:06 INFO: Using calculated netmask for 192.168.21.1: 255.255.255.0
IPaddr[5277]:   2015/11/06_11:56:06 INFO: eval ifconfig eth0:0 192.168.21.1 netmask 255.255.255.0 broadcast 192.168.21.255
IPaddr[5248]:   2015/11/06_11:56:06 INFO:  Success
ResourceManager[5156]:  2015/11/06_11:56:06 info: Running /etc/init.d/httpd  start
heartbeat[5143]: 2015/11/06_11:56:07 info: all HA resource acquisition completed (standby).
heartbeat[5115]: 2015/11/06_11:56:07 info: Standby resource acquisition done [all].
heartbeat[5115]: 2015/11/06_11:56:07 info: remote resource transition completed.

七、小结

a、对于集群上节点之间的切换实质上是资源的接管,通常包括VIP分配回收,磁盘卸载挂载,以及服务的启停等。
b、对于备用节点,其相应的共享磁盘(非严格意义上)不可读写,服务处于停止状态。

时间: 2024-09-13 08:17:49

Linux基于heartbeat配置httpd高可用服务的相关文章

Heartbeat+DRBD+NFS高可用实例配置

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1737702 环境说明:     操作系统: CentOS 6.5 x64,本文采用rpm方式安装heartbeat+drbd,本文只是试用heartbeat+drbd+nfs高可用基本功能. app1: 192.168.0.24    app1: 192.168.0.25     VIP : 192.168.0.26 一

heartbeat+lvs构建高可用负载均衡集群

heartbeat+lvs实现高可用负载均衡原理: 两台heartbeat(ldirectord)主机构成高可用集群,同时监管着lvs(负载均衡集群)整体构成了heartbeat+lvs的高可用负载均衡集群.在使用heartbeat的时候加载了watchdog模块,用来检测heartbeat服务,当heartbeat服务出现故障,会进行重启主机. 注意:但是,当内核崩溃了,watchdog也无能了(modprobe softdog),因为watchdog是基于内核级别的软件服务(相当于软fenc

centos下DRBD + Heartbeat 实现 NFS 高可用

在网站集群架构中,NFS 服务器处于后端的存储层.为前端的 Web 服务器集群提供一致的静态数据存储.访问.存储内容多为用户上传的图片,头像等.若存储层不采用分布式文件系统,而使用 NFS 则会存在单点故障,此时 NFS 故障会导致整个集群不能向外提供完整的服务(暂不考虑CDN).为了提高整个集群架构的高可用,可以使用 DRBD+Heartbeat 的组合来实现 NFS 的高可用.让两台 NFS 服务器中的一台为主提供服务,当主 NFS 出现故障时,由 Heartbeat 自动切换至备的 NFS

Linux下keepalived+mysql 实现高可用

Linux下keepalived+mysql实现高可用 首先在搭建前分析,想用keepalived实现mysql高可用,那么先的对keepalived+lvs跟mysql主主复制有所了解.因为mysql+keepalived架构是在keepalived+lvs跟mysql主主复制的基础上实现的lvs+keepalived跟mysql主主复制,在前面的博文中已经介绍过了这里不啰嗦了. lvs+keepalived链接:http://duyunlong.blog.51cto.com/1054716/

亿级流量电商详情页系统实战:缓存架构+高可用服务架构+微服务架构

<缓存架构+高可用服务架构+微服务架构>深入讲解了亿级流量电商详情页系统的完整大型架构.同时最重要的是,在完全真实的大型电商详情页系统架构下,全流程实战了整套微服务架构,包含了基于领域驱动设计进行微服务建模.Spring Cloud.基于DevOps的持续交付流水线与自动化测试套件.基于Docker的自动化部署.此外,还包含了大型电商详情页系统架构中的多种复杂架构设计的详细介绍. <亿级流量电商详情页系统实战(第一版)>的内容,主要是基于简化以后的大型电商详情页系统的背景,重点包含

DRBD + Heartbeat实现NFS高可用的例子

在网站集群架构中,NFS 服务器处于后端的存储层.为前端的 Web 服务器集群提供一致的静态数据存储.访问.存储内容多为用户上传的图片,头像等.若存储层不采用分布式文件系统,而使用 NFS 则会存在单点故障,此时 NFS 故障会导致整个集群不能向外提供完整的服务(暂不考虑CDN).为了提高整个集群架构的高可用,可以使用 DRBD+Heartbeat 的组合来实现 NFS 的高可用.让两台 NFS 服务器中的一台为主提供服务,当主 NFS 出现故障时,由 Heartbeat 自动切换至备的 NFS

基于API网关构建高可用、高安全性API

        今天我们来聊聊如何借助API网关构建高可用.高安全性的云API,充分利用API网关给我们带来的便利. 认证         从API定义上我们可以定义多种认证类型的API,除特殊API外建议定义APP认证方式或其有安全认证类型的API,这样一旦发生攻击或者大量非法调用时我们可以知道谁在调用,便于我们通过黑名单等措施及时进行限制 HTTPS 建议对数据传输安全性要求较高的API仅开放HTTPS调用方式,另外在证书选择上,强烈建议大家选购Verisign的安全证书,因为Verisig

实用技巧:如何用负载均衡构建高可用服务?

当单台服务器已经无法处理访问请求时,当我们的服务宕机时,当有人试图攻击我们的服务时,我们应该怎么办?升级后端服务时,怎样才能不中断服务?    如何构建一个高可用的服务? • 连接级 • 服务器级 • 可用区级 • Region级 健康检查 为什么健康检查总是显示失败? 为什么控制台上一会显示成功,一会显示异常? 直接访问服务器的健康检查地址是好的,但是还是会报健康检查失败,为什么? 健康检查实现机制 • 响应超时时间:5秒 • 健康检查间隔:2秒 • 不健康阈值:3 • 健康阈值:3 • 不可

WebSphere Operational Decision Management V7.5配置一个高可用和可扩展的环境

WebSphere http://www.aliyun.com/zixun/aggregation/10963.html">Operational Decision Management (以下简称 ODM)使企业能够利用智能的自动化决策响应实时数据.它包含两个相辅相成的组件:Decision Server Rules 和 Decision Server Events.根据业务数据类型和业务需求,Decision Server Events 可用于提供决策管理服务.因为 Decision