潤幹報表集群快取同步功能介紹

2021-09-02 22:30:21 字數 1677 閱讀 3903

目前伺服器的集群,大多是使用 session 同步的方法解決的問題,即讓集群中一台電腦的 session 在集群伺服器發生相互之間跳轉的時候,把 session 也同時複製到相應的電腦上。例如:在集群伺服器中,第一次訪問 a 機器,第二次跳轉到 b 機器繼續訪問,伺服器會自動把 a 機器產生的 session 的內容複製到 b 機器上,使得訪問正常進行,從而實現伺服器之間負載更加均衡。

但是潤幹報表的快取機制有所不同,潤幹的快取是基於硬碟的,會把快取檔案儲存到電腦的硬碟上。但是這樣在集群伺服器上就造成了如下問題:當客戶端第一次訪問 a 機器時產生的報表儲存在 a 機器的快取目錄下,第二次訪問跳轉到 b 機器時,b 機器無法從 a 機器的本地硬碟上取得快取的報表。為了解決這個問題,潤幹採取了集群快取同步的功能。

首先介紹一下集群快取同步功能的概念。集群快取同步是指:客戶端在多次訪問集群伺服器的不同主機時,伺服器之間可以進行報表快取的同步,使得客戶端能夠返回正確的結果而不需要重新計算。

然後需要知道,潤幹報表快取相關的配置方法要在 reportconfig.xml 中設定,reportconfig.xml 的路徑為:潤幹 web 應用根目錄下的 web-inf/reportconfig.xml,其中所有快取相關的可配置屬性如下:

< !– 配置快取機器和快取埠號–>

< name>clustermember

< value>a,192.168.0.59,8087;b,192.168.0.48,8087;

< /config>

< config>

< !– 配置是否共享快取目錄–>

< name>iscachedfileshared

< value>yes

< /config>

< config>

< !– 配置快取共享目錄–>

< name>cachedreportdir

< value>\\192.168.0.59\cached

< /config>

< config>

< !– 配置快取 id 的字首,注意集群時不同機器用不同的字首–>

< name>cachedidprefix

< value>a

< /config>

在上面的可配置屬性中,其中 clustermember 屬性指定了系統快取字首,所有集群的伺服器結點,每個伺服器結點與快取伺服器間的通訊介面。它的格式是:」快取字首,對應電腦的 ip 位址,訪問電腦的埠號;…」,集群中有多少臺電腦要用到集群快取同步機制,那麼就要在這裡按照上面的格式,把這些電腦一一配置好。

第二個重要屬性是 iscachedfileshared,它的取值範圍是 yes 或者 no,它的作用是是否共享本地硬碟上的快取目錄和檔案。設定為 yes 的時候快取目錄和檔案被共享,可以在集群伺服器中訪問到電腦硬碟上的快取,如果設定為 no,那麼快取不能被共享,也就不能被集群中的其他電腦得到。必須注意的是,如果它的值為 yes,那麼必須設定 cachedreportdir 屬性的值,cachedreportdir 的作用是配置快取共享目錄,潤幹報表的快取將被儲存到這個目錄下,所以 cachedreportdir 的值需

為乙個可讀寫的訪問路徑。

根據上面 reportconfig.xml 的例子和屬性說明配置好這個配置檔案後,集群快取同步的配置就基本完成了,這個就可以在集群伺服器中相互跳轉的時候取到潤幹報表的快取檔案了,也就成功解決了以前採用 session 複製的方法不能取到本地硬碟上快取的問題。

潤幹報表集群快取同步功能介紹

目前伺服器的集群,大多是使用session同步的方法解決的問題,即讓集群中一台電腦的session在集群伺服器發生相互之間跳轉的時候,把session也同時複製到相應的電腦上。例如 在集群伺服器中,第一次訪問a機器,第二次跳轉到b機器繼續訪問,伺服器會自動把a機器產生的session的內容複製到b機...

潤幹報表效能管理之集群快取同步功能

功能背景 目前伺服器的集群,經常使用session同步的功能,在這種情況下,允許同乙個客戶端,第一次訪問a機器,第二次跳轉到b機器繼續訪問,伺服器會自動把a機器產生的session的內 容複製到b機器上,使得訪問正常進行,從而實現伺服器之間負載更加均衡。潤幹報表的快取是在硬碟上做的,於是當客戶端第一...

配置潤幹報表的快取

配置潤幹報表的快取 任務背景 不管報表引擎的演算法如何優化,報表資料量大到一定程度,使用者併發數多到一定程度,伺服器的效能總會告急,因此,報表引擎的任務一方面是優化演算法,另一方面也是更重要的,是要提供有效的快取機制與併發控制機制。面臨困難 報表的快取,乍一聽似乎挺簡單的,不就是把算好的報表存下來,...