我們在 MacBook Pro 上的整個資料導管
由安德魯·Backes,軟體工程師(數據管道)
我們認為,如果我們能在本地運行整個數據管道的精確副本,那將非常酷。這將打開一大堆的可能性。我們最興奮的是:測試系統集成,但在我們的筆記型電腦上。在6月的最後幾周,這是我們(數據團隊在 ShareThis ) 工作。
那麼,這到底是什麼意思呢?現在,我們的數據管道運行在大約 30 個節點的群集上。它與卡桑德拉星團、Aerospike 集群、兩個卡夫卡星團和石墨/塞倫節點進行交互。目標是讓這一切以某種方式運行在一台筆記型電腦上。此外,我們希望實際上有管道引入數據,並讓正確的東西出來的另一端。
第一步是將應用程式裝箱化。棘手的部分是,我們的應用程式沒有編寫時考慮到了此功能。但幸運的是,我們在開發過程中使用了依賴項注入和適配器模型。事實證明,這説明了很多,使事情連接在一起正確。多克撰寫也在這方面起了説明。大約一周后,我們得到了所有這些工作,Docker 1.7的高級網路功能被宣佈。這些新功能會使我們的工作更容易。
最後,我們使用 8 個 Docker 容器(每個容器代表 Amazon VPC 組)進行內部應用,每個卡桑德拉、Aerospike、Kafka 7、Kafka 8 和石墨使用單個碼頭集裝箱。由於我們在 Mac 上運行此功能,因此我們還必須增加記憶體量,並且可用於 VM 中的 boot2docker 的磁碟空間。這是一個歡樂的時刻,當我們把一些數據放在管道前面,能夠跟蹤它石墨,看到完全處理的版本彈出另一端。