zoukankan      html  css  js  c++  java
  • EHCACHE采用分布需要注意的地方

    分布式EHCACHE系统,有两种同步方式

    • 方式1 :  RMI组播方式

    这也是最常用的方式,配置简单,关键一点,各EHCACHE的节点配置都是一样的

    原理:
    这样当缓存改变时,ehcache会向230.0.0.1端口4446发RMI UDP组播包

    (230.0.0.1 是D类网络地址,专门用于广播)

    这种组播方式的缺陷:
    EHCACHE的组播做得比较初级,功能只是基本实现(比如简单的一个HUB,接两台单网卡的服务器,互相之间组播同步就没问题),
    对一些复杂的环境(比如多台服务器,每台服务器上多地址,尤其是集群,存在一个集群地址带多个物理机,每台物理机又带多个虚拟站的子地址),就容易出现问题.

    究其原因, 组播/广播转发是一个很复杂的过程. 简单的说, 一个组播缺省只能在一个网段内传输,不能跨网段.
    举个简单的例子, PC机网卡的自动获取地址,还有WINDOWS里的网上邻居,都属于典型的广播服务,所以这些服务都是不能跨网段(跨路由)的,当然也不是完全不行,借助一些工具,比如CISCO路由器上的udp-broadcast helper,或者微软的netBIOS on Tcp/ip,就可以实现.
    我们自己安装一些软件时,也经常遇到比如"将网卡的广播转发打开"之类的操作.
     
    而在多网卡的主机,或同一网卡多IP的主机上,尽管地址可能是一个网段内的,但其实地址间已经存在跳数了(hop),其实就是从一个地址向另一个地址跳. 这时广播/组播就容易被阻断.
    比如: 我们自己的WINDOWS上装一个VMWARE虚拟机,尽管IP地址是一个网段的,但因为虚拟机采用的桥模式不是标准的网桥模式(也可能是需要配置一下,但说实话懒得研究VMWARE了),所以广播/组播也经常出现不通的情况.

    更何况在一些云计算的环境,集群的分布往往是跨网段的,甚至是跨地域的.这时更难以依赖这种初级的组播同步.

    总之,分布式集群架构,建议EHCACHE改为PEER-2-PEER的同步方式.

    • 方式2 : p2p方式

    其实就是每个节点和其他n-1个节点都建立TCP的P2P PEER。

    这种方式各个节点关于同步到其他IP的的配置都不相同。

    总结:
    上面说了,组播方式同步不可靠.
    P2P方式其实也存在不可靠的地方.这就是P2P要求每个节点的EHCACHE要指向其他的N-1个节点,
    当在云环境,或集群域下, 多个子节点部署项目都是被自动发布的,这时很难做到不同节点有不同的配置,因为自动发布,配置往往都是相同的,这样P2P就很难实现.
    总之,这种同步型应用是很难适应大规模分布式部署的,还是建议采用一些集中软件比如MEMCACHED.

  • 相关阅读:
    CentOS上svn checkout时报错SSL handshake failed: SSL error: Key usage violation in certificate has been det
    SnmpTools配置
    Django下载文件
    Cacti的使用
    RRDtool 安装和使用
    SNMP 安装及使用
    Openstack CentOS6.5 ALL IN ONE 安装
    mysqladmin -u root password
    VS2013打包程序步骤
    python中使用rabbitmq消息中间件
  • 原文地址:https://www.cnblogs.com/onlywujun/p/5745195.html
Copyright © 2011-2022 走看看