FineReport關(guān)于tomcat集群部署的方案
多臺(tái)服務(wù)器集群后,配置權(quán)限、數(shù)據(jù)連接、模板、定時(shí)調(diào)度等,只能每臺(tái)服務(wù)器一個(gè)個(gè)配置,不會(huì)自動(dòng)同步到所有服務(wù)器。
針對上述情況,在FineReport中提供新集群部署插件,將xml配置文件、finedb/logdb數(shù)據(jù)(定時(shí)任務(wù)、報(bào)表目錄管理、批量導(dǎo)入、統(tǒng)計(jì)信息)的修改都對主機(jī)生效。其他輔機(jī)的信息讀取也都從主機(jī)讀取,保證了數(shù)據(jù)同步。
實(shí)現(xiàn)了災(zāi)備,即主機(jī)當(dāng)即后,次主機(jī)會(huì)上位接替主機(jī)的工作,保證系統(tǒng)正常運(yùn)作。
同時(shí)還增加了集群災(zāi)備之文件同步,會(huì)將主機(jī)的finedb、xml、模板、jar包、插件等等備份到其他節(jié)點(diǎn)的應(yīng)用上。支持可以手動(dòng)同步和自動(dòng)同步。
插件介紹
設(shè)計(jì)器插件、服務(wù)器插件安裝好之后,新集群部署,有主機(jī)、次主機(jī)、輔機(jī)之分,配置文件都從主機(jī)讀取,輔機(jī)只能用作計(jì)算引擎分擔(dān)壓力,有點(diǎn)事當(dāng)改配置文件的時(shí)候,不需要每個(gè)節(jié)點(diǎn)都去修改,直接改主機(jī)即可。
分布式集群
分布式集群文件系統(tǒng):每臺(tái)計(jì)算機(jī)各自提供自己的存儲(chǔ)空間,并各自協(xié)調(diào)管理所有計(jì)算機(jī)節(jié)點(diǎn)中的文件。
這里測試修改主機(jī)的報(bào)表管理目錄樹平臺(tái)標(biāo)題,然后可以看到輔機(jī)會(huì)同步修改的配置。其中報(bào)表管理目錄樹存在finedb中,平臺(tái)樣式的平臺(tái)標(biāo)題存在fsconfig.xml中。
- 環(huán)境準(zhǔn)備
設(shè)置tomcat1、tomcat2、tomcat3集群,tomcat1為主機(jī),tomcat2為輔機(jī),tomcat3為次主機(jī),tomcat集群。
WebReport工程分別放在tomcat下的webapps文件夾里
- 配置文件
集群配置完成之后,修改將配置包resource文件夾下的cluster.xml打開,如果沒有這個(gè)文件的話,就新建一個(gè),基本內(nèi)容如下:
PublicURL是集群默認(rèn)跳轉(zhuǎn)地址,比如集群時(shí)對外地址是自定義端口的, ip:8888/WebReport/ReportServer?op=fs我們并不能獲取到這個(gè)8888端口,因此這里需要填寫實(shí)際的ip:端口號(hào),如果這段省略不寫,默認(rèn)跳轉(zhuǎn)80端口。
ServiceName是為tomcat的名字。
IP是該臺(tái)服務(wù)器內(nèi)網(wǎng)中的IP,就是其它服務(wù)器能與之通信的IP。
Port是報(bào)表應(yīng)用的端口號(hào),假如是部署在tomcat下,那么就是tomcat的端口號(hào),默認(rèn)是8080。例如我們的內(nèi)置服務(wù)器是8079.
WebAppName是報(bào)表應(yīng)用的名稱,我們默認(rèn)的是WebReport。
詳細(xì)代碼如下:
<?xml version="1.0" encoding="UTF-8" ?>
<ClusterConfig useCluster="true">
<PublicURL>
ip:端口
</PublicURL>
<ClusterService isMain="true">
<ServiceName>tomcat1</ServiceName>
<ip>192.168.101.82</ip>
<port>6080</port>
<WebAppName>WebReport</WebAppName>
</ClusterService>
<ClusterService>
<ServiceName>tomcat3</ServiceName>
<ip>192.168.101.82</ip>
<port>8080</port>
<WebAppName>WebReport</WebAppName>
</ClusterService>
<ClusterService isVice="true">
<ServiceName>tomcat2</ServiceName>
<ip>192.168.101.82</ip>
<port>7080</port>
<WebAppName>WebReport</WebAppName>
</ClusterService>
</ClusterConfig>
- 測試
啟動(dòng)工程,等3分鐘后,關(guān)閉主機(jī),刷新fs和訪問模板,此時(shí)是失敗的,再等待3分鐘,主次機(jī)上位,再次刷新fs和訪問模板,此時(shí)是成功的。
集群同步設(shè)置
點(diǎn)擊管理系統(tǒng)-集群同步,點(diǎn)擊設(shè)置,選擇需要同步的內(nèi)容:配置文件(resources目錄)、模板(reportlets目錄)、插件和jar(plugins和lib文件夾),點(diǎn)擊確定,然后可以選擇手動(dòng)同步,或者設(shè)置定時(shí)同步,點(diǎn)擊保存即可,如下圖:
共享式集群
共享式文件集群系統(tǒng):多臺(tái)計(jì)算機(jī)識(shí)別到同樣的存儲(chǔ)空間,并相互協(xié)調(diào)共同管理其上的文件,又被稱為共享文件系統(tǒng);
- 環(huán)境準(zhǔn)備
設(shè)置tomcat1和tomcat2集群,tomcat1為主機(jī),tomcat2為輔機(jī),tomcat集群。
Web項(xiàng)目部署在不同的服務(wù)器上,一般服務(wù)器都在同一局域網(wǎng),那么共享式文件集群該如何訪問呢?
這里通過共享局域網(wǎng)里某臺(tái)電腦上的工程文件夾,多個(gè)tomcat都從這個(gè)共享的工程文件夾里讀,如下圖:
- 配置文件
集群配置完成之后,修改將配置包resource文件夾下的cluster.xml打開,如果沒有cluster.xml,則新建一個(gè),基本內(nèi)容如下: