2010-11-22 132 views
30

有沒有人有Hazelcast分佈式數據網格和執行產品的任何真實世界的經驗?它對你有什麼作用?它具有令人驚訝的簡單API和功能,對於這樣一個簡單易用的工具來說似乎是非常好的。我已經做了一些非常簡單的應用程序,它似乎到目前爲止廣告的工作。所以我在這裏尋找真實的世界'現實檢查'。謝謝。RealWorld HazelCast

回答

9

還有仍有一些問題與它的發展,
http://code.google.com/p/hazelcast/issues/list
一般情況下,你可以選擇讓使用它自己的多播算法或指定自己的IP的。我們已經在局域網環境中嘗試過它,它運行得非常好。性能方面,這並不壞,但監控工具並不能很好地工作,因爲大部分時間都沒有更新。如果你可以忍受當前的問題,那麼所有人都應該去做。我會謹慎使用它,但它是一個偉大的工作工具恕我直言。

更新: 我們已經使用Hazelcast幾個月了,它工作得很好。這些設置相對容易設置,並且具有新的更新,足夠全面,可以自定義甚至很小的事情,例如讀/寫操作中允許的線程數。

0

如果您有替代品,請先看看這些。我們有它在運行生產模式,它仍然是錯誤的,只是檢查公開的問題。 但是,與Spring,Hibernate等的集成相當不錯,安裝非常簡單:)

11

我們從1.8+版開始一直在使用它,主要使用分佈式鎖定功能。它效果很好,我們發現了一些解決方法/錯誤,但這些解決方法相對較快。

對於每天1.8百萬個鎖具,我們目前沒有發現任何問題。

我推薦使用1.9.4.4版本。

7

我們在生產中使用Hazelcast(1.9.4.6現在)與複雜的交易服務集成。它被添加來緩解即時數據庫吞吐量問題。我們發現,我們經常不得不停止將所有交易服務關閉至少一個小時。我們以超客戶端模式運行客戶端,因爲它是唯一的選擇,甚至可以遠程滿足我們的性能要求(比本地客戶端快大約4倍)。不幸的是,停止超級客戶端節點會導致腦裂問題並導致網格丟失記錄,強制完成關閉服務。我們一直在努力讓這款產品爲我們工作幾乎整整一年,甚至付費讓2位榛子代表幫忙。他們無法提出解決方案,但能夠讓我們知道我們可能做錯了。在他們看來,它應該更好地工作,但它幾乎是一個浪費的旅程。

在這一點上,我們每年需要支付許可費用超過6位數,目前我們正在使用大約5倍的資源來保持網絡的活力,並滿足我們的性能需求,而不是我們使用集羣化優化數據庫堆棧。這對我們來說絕對是錯誤的決定。

該產品正在消滅我們。謹慎使用,謹慎使用,並且只能用於簡單的服務。

+1

你解決了嗎?你是否孤立了這個問題,還是轉向了另一種技術?你提到的許可費是多少?我想,azelcast的核心是免費的。 – 2012-09-04 18:20:26

+7

舊的[你看到了什麼](http://qph.is.quoracdn.net/main-qimg-2776209b9d9d72eef92d0910e8c72e13)笑話 – Crowie 2013-09-11 15:21:09

2

如果我自己的公司和項目算作現實世界,這是我的經驗。我希望儘可能接近消除外部(磁盤)存儲,以支持無限和持久的「RAM」。對於那些消除CRUD管道的初學者來說,有時會達到所謂的「中間層」的90%。還有其他好處。由於RAM是你的「數據庫」,你不需要任何複雜的緩存或HTTP會話複製(這反過來消除了醜陋的粘滯會話技術)。我相信RAM是未來,Hazelcast擁有所有內容數據庫:查詢,事務處理等。所以我寫了一個迷你框架抽象它:從持久存儲中加載數據(我可以插入任何東西可以存儲BLOB - 最快的結果是MySQL)。解釋爲什麼我不喜歡Hazelcast的內置持久性支持太久了。這是相當通用和基本的。他們應該刪除它。實施你自己的分佈式和優化的後寫和直寫不是火箭科學。花了我一個星期。

一切都很好,直到我開始進行性能測試。在完成所有優化之後,查詢都很慢:索引,便攜式序列化,顯式比較器等。對於一組索引字段,簡單的「大於」查詢在60K條1K記錄集(映射條目)上需要30秒。我相信Hazelcast團隊盡其所能。儘管我討厭這麼說,但與超級優化的C++代碼正常數據庫使用相比,Java集合仍然很慢。有一些開源的Java項目可以解決這個問題。但是在這個時候查詢持久性是不可接受的。它應該立即在一個本地實例上。畢竟這是內存技術。

我切換到Mongo的數據庫,但離開Hazelcast共享運行時數據 - 即會話。一旦他們提高了查詢性能,我會切換回去。

0

我們在我們的電子商務應用程序中使用Hazelcast,以確保我們的庫存一致。

我們廣泛使用分佈式鎖定來確保SKU庫存項目以原子方式修改,因爲我們的Web應用程序集羣中有數百個節點在這些項目上同時運行。

此外,我們使用分佈式映射進行緩存,並在所有節點之間共享。由於Hazelcast中的縮放節點非常簡單並且利用了其所有CPU內核,因此它比Redis或任何其他緩存框架具有更多的優勢。

0

我們在過去3年中在我們的電子商務應用程序中使用Hazelcast以確保可用性(供應&需求)是一致的,原子性的,可用的可擴展的&。 我們正在使用IMap(分佈式映射)來緩存數據和Entry Processor來讀取&寫入操作,以便在IMap上執行快速內存操作,而無需擔心鎖定。