Data Store和Data Collector

 什麼是Data Store and Data Collector? 數據庫

咱們知道CITRIX XenApp(或者說是Presentation Server)服務器保存配置信息在數據庫中,這個數據庫就叫作IMA Data Store。這個數據庫對XenApp來講,只是保存了靜態的配置信息,其中不保存任何XenApp環境中的運行狀態信息,換句話說,Data Store只是保存在服務器關閉之後,須要靜態存儲的信息。通常包括經過管理控制檯(Management console)進行的各類設置值。服務器

 能夠想象,XenApp服務器須要服務器來持續監視不少動態信息。好比,用戶在哪臺服務器上啓動了哪些會話(Session),哪臺服務器在線或者離線,每臺服務器的負載情況等等,這些動態的信息在如下幾種狀況下會須要,好比:負載均衡

  • 管理控制檯須要顯示每臺服務器上的每一個用戶信息給管理員;
  • 當有入站鏈接請求的時候,服務器須要知道哪臺服務器在線(online),能夠提供服務;
  • 系統在作負載均衡的時候,須要知道相關服務器的負載狀況;
  • 等等

爲了解決這些問題,各個服務器之間須要一個共享各服務器狀態信息的方法,在早期的版本中,Citrix爲了解決這個問題,在每臺服務器上都開一段端口,分別和每臺服務器創建鏈接來同步信息,具體機制就不詳細介紹了已經被廢棄,由於每一個服務器之間都須要創建鏈接誒,可想而知,性能低下。ide

如今的版本中(4.5版本之後),每臺獨立的XenApp服務器監視本身的狀態信息(動態信息),當有變化的時候,IMA服務就會聯繫Data Collector的IMA服務(2512端口),通知Data Collector,已經有新的狀態信息更新,而後Data Collector會更新內存中的全部服務器的動態信息。由此可知,Data Collector是IMA服務維護的一塊內存信息,用來保存zone或者zones中的各個服務器的狀態信息。性能

Data Collector和Data Store的關係spa

很顯然,Data Collector和Data Store其實是不相關的。Data Store用來在數據庫中永久保存配置信息,而Data Collector用來在內存中動態保存會話信息。內存

可是,二者之間也會間接的發生關係。好比:同步

當你經過管理控制檯修改了配置之後,新的配置信息會被寫入Data Store(實際是寫到你鏈接到的那臺服務器本地的Cache,而後複製到Data Store),可是當你修改了這臺服務器的配置信息之後,爲了其餘服務器也能即時獲得最新的配置,並加載到其本地Cache中,這個過程須要30分鐘,獨立的XenApp服務器每30分鐘檢查一次Data Store的變化,可是咱們但願配置即時的同步到全部服務器。it

Citrix考慮到了這個問題,當Data Store發生變化後,該變化也同時發送到該Zone的Data Collector,而後Data Collector即時的分發到全部服務器(經過IMA 2512端口)。這樣,所又有的服務器據此更新其本地Cache。若是有多個zone,那麼各個Zone之間的Data Collector會同步全部的更新。io

特別地,當這個配置更新變化超過64KB之後,Data Collector將不會同步這個更新,只會發送更新通知到全部服務器,服務器接收到通知之後,不用等待30分鐘的同步週期,會立刻同步Data Store。通常狀況下,超過64KB的配置信息不多發生。

相關文章
相關標籤/搜索