简单的一个分布式统计设计

结构如下:

简单的一个分布式统计设计

 

统计节点:

1、启动注册到ZK集群上,在ZK上另外一台发生故障的时候,更新自己为主服务地址

2、主节点接收到数据的时候,将数据写入到Redis集群(redis定时落地),和从节点的同步有二种方式

      a)主节点通知从节点,但是从节点不写redis,发生故障切换的时候,接收到数据提供方数据的时候开启写入到redis

      b)从节点定时从redis集群中刷新相关数据

      建议采用a方法

3、对外提供各种统计查询服务

 

数据提供方:

1、从zk获得服务地址,监听对应节点,动态的获得服务的主节点

2、向服务节点发送相关数据

 

其他问题:

统计的数据如果很大的情况下,单台容纳不下的情况下怎么处理,建议在服务节点也进行数据过期的处理,一般的中等规模的应用应该可以处理。另外一个可以在获得服务地址上做文章,针对数据提供方进行分组,不同组的统计服务是一统计服务的主从节点,结构如下:

 

简单的一个分布式统计设计