内容概要
如下图为JBoss集群中数据复制的简单示意图
如图中所示的两个节点的JBoss集群,一般来说一个集群中我们需要将http会话、EJB、JMS、Hibernate二级缓存等在所有节点上保持同步,也就是说,任何一个节点上的这些数据发生变化,都需要将变化的数据复制到其他节点上。JBoss集群使用JGroups完成这一操作,这里我们不深入探讨JGroups怎样完成状态复制,这里我们说基于jGroups 的坦克大战游戏。
坦克大战是经典的角色对战游戏,游戏中可以有多个坦克参与,但所有坦克分为两种角色,两种角色的坦克可以发射炮弹相互攻击对方,当坦克被击中后坦克的生命值会减少,坦克生命值为零时坦克爆炸,坦克可以通过添加燃料来回复生命值,不同角色的坦克碰撞后生命值也会减少。一般我们可以通过键盘控制坦克进行游戏:
- 通过键盘方向建(上下左右)控制坦克的移动和方向
- 通过空格建发(space)射子弹
- 通过F2建重新生成坦克(坦克被炸毁)
如上图坦克状态包括:
- 坦克方向
- 坦克生命值
- 坦克发射的子弹
- 燃料位置