首先声明:该博文转自热爱生活,热爱JAVA,原文地址为http://maping930883.blogspot.com
本文使用单机模拟多机集群。
运行环境:WebLogic Server 10.3.5 + Oracle Database 10g Express Edition 10.2.0.1。
1. 设计图
2. 创建Machine、Managed Server、Cluster(1)创建两个Machine:dizzyMachine1和dizzyMachine2。
(2)创建两个Managed Server:dizzy1和dizzy2,其中dizzy1在dizzyMachine1上,dizzy2在dizzyMachine2上。
(3)创建一个Cluster:dizzyworldCluster,其中的成员有dizzy1和dizzy2。
3. 启动AdminServer、dizzy1、dizzy2
启动dizzy1和dizzy2时,在日志中看到如下信息,就说明集群配置成功。
<Cluster> <BEA-000102> <Joining cluster dizzyworldCluster on 239.192.0.0:7050>
4. 选择unicast还是multicast?
创建集群时,Messaging Mode有两种:multicast和unicast,选择哪一种比较好呢?
我们先从它们的基本原理说起。
(1)unicast:单播。
我们知道,数据包在网络中传递时,就像邮件一样,数据包头含有发信人地址和收信人地址。
如果两个地址在同一个子网内,可以直接根据收方地址来判断由哪台主机接收。
如果在不同的子网,就要通过路由器转发到另一个子网,最终把数据包送到另一个子网的目的主机上。
这种传输方式是Internet上最普遍的、一对一的传输方式,即为unicast:单播。
另一类传输模式为一对多模式,分为broadcast和multicast两种。
(2)broadcast:广播。
当broadcast时,同一子网中的所有主机都会收到数据包,其它子网不会接收到数据包(被路由器阻挡了),否则网络就瘫痪了。
这种传输方式即为broadcast:广播。
(3)multicast:组播。
而multicast 是一对一个群组的传输模式,不同于broadcast的是,同一子网中只有参加multicast group的主机才会收到数据包,其它的主机不会受到干扰,而且数据包会通过路由器转发到另一个子网的同一个group中的主机。
这种传输方式即为multicast:组播。
multicast和broadcast相同的特性是,不管接收数据包的主机有几台,都只有一个数据流,也就是说,同一个子网里,不管接收主机的数量,所需的带宽都是一样的。
从上面的介绍可以看出,unicast所占带宽最小,速度最快,所以优先考虑使用unicast。
5. 如何选择集群的地址和端口?
如果选择multicast方式,可选择的地址范围是224.0.0.0~239.255.255.255。
注意,其中要避开保留地址224.0.0.0~224.0.1.255。
如果选择multicast方式,可选择的端口范围是未被使用的大于1024的端口。
参考文献:
1. http://weblogic-wonders.com/weblogic/2010/12/17/comparison-between-cluster-multicast-messaging-and-unicast-messaging-mode/