
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
服务器缓存功能的应用是非常重要的,今天我们就通过案例分析来了解一下,服务器缓存架构方法都有哪些。
1)key值获取
Java应用调用Jedis-Client接口获取key的缓存值时,Jedis-Client会询问Hermes-SDK该key当前是否是热点key;
对于热点key,直接从Hermes-SDK的热点模块获取热点key在本地缓存的value值,不去访问缓存集群,从而将访问请求前置在应用层;
对于非热点key,Hermes-SDK会通过Callable回调Jedis-Client的原生接口,从缓存集群拿到value值;
对于Jedis-Client的每次key值访问请求,Hermes-SDK都会通过其通信模块将key访问事件异步上报给Hermes服务端集群,以便其根据上报数据进行“热点探测”;
2)key值过期
Java应用调用Jedis-Client的set()del()expire()接口时会导致对应key值失效,Jedis-Client会同步调用Hermes-SDK的invalid()方法告知其“key值失效”事件;
对于热点key,Hermes-SDK的热点模块会先将key在本地缓存的value值失效,以达到本地数据强一致。同时通信模块会异步将“key值失效”事件通过etcd集群推送给Java应用集群中其他Hermes-SDK节点;
其他Hermes-SDK节点的通信模块收到“key值失效”事件后,会调用热点模块将key在本地缓存的value值失效,以达到集群数据终一致;
3)热点发现
Hermes服务端集群不断收集Hermes-SDK上报的key访问事件,对不同业务应用集群的缓存访问数据进行周期性(3s一次)分析计算,以探测业务应用集群中的热点key列表;
对于探测到的热点key列表,Hermes服务端集群将其通过etcd集群推送给不同业务应用集群的Hermes-SDK通信模块,通知其对热点key列表进行本地缓存;
4)配置读取
Hermes-SDK在启动及运行过程中,会从Apollo配置中心读取其关心的配置信息(如:启动关闭配置、黑白名单配置、etcd地址...);
Hermes服务端集群在启动及运行过程中,会从Apollo配置中心读取其关心的配置信息(如:业务应用列表、热点阈值配置、etcd地址...);
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。