集群时的缓存同步
来源:互联网 发布:java中的类 编辑:程序博客网 时间:2024/06/06 02:49
随着对服务器集群的负载均衡能力要求越来越高,很多服务器推出了session同步的功能。即 同一个客户端在同一个访问周期里,可能第一次访问A机器,第二次跳转到B机器访问,此时在访问A机器过程中产生的session里的内容可以被同步复制到 B机器上。这个功能使得负载均衡更加合理,但是也带来了一系列问题。
服务器的集群只解决了服务器自己的session同步问题,而作为报表工具,润乾报表还提供了先进的参数缓存和报表缓存。那么,当客户端第一次访问 报表服务器的时候,A机器计算了报表并在A机器作了缓存,而当客户端第二次访问时,例如此时跳转到B机器,则在B机器上找不到报表的缓存,也找不到参数的 缓存,于是只好报错或者重新计算,一定程度上浪费了服务器的资源,降低了服务器的性能。
润乾报表专门针对此类情形,提供了集群服务器之间通讯的能力–集群时缓存同步,彻底解决了负载均衡时服务器之间跳转访问带来的缓存同步的问题。
其原理是:
客户端第一次访问报表服务器,A机器计算了报表并在A机器作了缓存,当客户端第二次访问时,例如此时跳转到B机器,B机器根据缓存id判断出是A机器做的缓存,于是B机器向A机器发送缓存请求,A机器读取缓存并把缓存结果发送给B机器,B机器再把结果返回给客户端。
实现步骤:
1、 在reportConfig.xml文件中做如下配置:
<config> <!– 配置缓存机器和缓存端口号–>
<name>clusterMember</name>
<value>A,192.168.0.59,8087;B,192.168.0.48,8087;</value>
</config>
<config> <!– 配置是否共享缓存目录–>
<name>isCachedFileShared</name>
<value>yes</value>
</config>
<config> <!– 配置缓存共享目录–>
<name>cachedReportDir</name>
<value>\\192.168.0.59\cached</value>
</config>
这里主要的是 clusterMember属性,它指定了系统缓存前缀、所有集群的服务器结点及每个服务器结点与缓存服务器间的通讯接口。
它的格式是:缓存前缀,IP,端口;(注:润乾通信端口非web服务器端口)
2、 重起服务器,即可实现集群时缓存同步。
- 集群时的缓存同步
- 缓存的集群与同步
- 缓存-ehcache 集群缓存的同步
- 集群缓存同步
- 集群环境下的缓存同步和出错恢复
- 集群环境下的TopLink/JPA缓存同步策略
- 解决WEB集群session同步的方案,Redis内存缓存
- 润乾报表的缓存与集群同步
- 解决WEB集群session同步的方案,Redis内存缓存
- 润乾V5集群缓存同步功能介绍
- web集群时session同步的方法
- 润乾报表集群缓存同步功能介绍
- EhCache缓存在集群环境中同步问题
- 润乾升级部署集群缓存同步注意事项
- 润乾报表性能管理之集群缓存同步功能
- 润乾报表集群缓存同步功能介绍
- EhCache缓存在集群环境中同步问题
- 集群时间同步的配置
- Java设计模式----职责链模式(Responsibility Chain)
- Java接口分页模版
- C语言 实现一个双链表
- 对象的集合 -- 栈,使用stl 中的vector 或者 原始数组来实现
- 使用StringBuilder构建字符串
- 集群时的缓存同步
- 一个游标引发的血案,哈哈
- 在没有备份的情况下通过rowid提取数据文件损坏的表空间中的部分数据
- Java并发编程规则:不可变对象永远是线程安全的
- gradle 打生产开发两种包
- Android之View与viewGroup的区别
- QT开发之QProcess进程运行外部程序
- Spring 限制用户重复登录
- 索引算法原理解析(B-tree以及磁盘存储原理)