大数据缓存管理系统设计与实现

闲来无事, 记录一下自己很早之前设计的一套稚嫩的分布式缓存系统。

有意见或者建议的可以给我留言。

大数据缓存管理系统

系统介绍:
系统结构:此套系统为分布式系统
业务处理系统:
 
数据支持系统:
 


系统采用的技术:zookeeper,memcached,activitymq消息中间件,webservice,springmvc,mybatis,boostrap
设计思路:这套解决方案做了对memcached的集群,以及一致性hash解决数据冗余,对高并发提供了支持;通过zookeeper对activitymq集群管理,实现了高可用HA,web方面使用了最流程的springmvc和mybatis。
项目截图:
1. 提交数据到数据库:

 



 
 
业务系统将数据放入消息中间件activitymq,数据支持系统监听activitymq插入数据库
 


2.数据查询
 

 


查询的逻辑是:1:业务系统先查memcached缓存集群,假如缓存集群中存在,直接返回,不存在进行第2步
2:通过webservice接口从数据支持服务器查询数据
3:业务系统将查询到的数据放入缓存集群中方便下一次查询,同时给用户返回一份。
 
第二次查询的时候直接从memcached集群中取到了。
Zookeeper集群管理activitymq集群可以起到高可用的作用,截图演示如下:
我启用了三台linux centos服务器的activity IP分别为192.168.1.113  192.168.1.109  192.168.1.110
默认情况下,只有起重一台是master,
 
比如说现在是113机器为master
 
而其他两台不提供服务
当master down机时,比如我把master的113号机强行关掉模仿灾难发生:
 
接下来
 
我访问113的时候,因为down机,113不提供服务了,而我们的activitymq集群因为有zookeeper管理,又自动连上了109的服务
 
Java客户端提示:

 

项目地址:https://download.csdn.net/download/yangxiaobo118/10482990

测试地址:https://blog.csdn.net/yangxiaobo118/article/details/80716730

截图如下:



猜你喜欢

转载自blog.csdn.net/yangxiaobo118/article/details/80716709