hazelcast
In-Memory Data Grid for Java
hazelcast project on Google Code; Hazelcast.com
hazelcast documentation
In-Memory Data Grid for Java
hazelcast project on Google Code; Hazelcast.com
hazelcast documentation
Краткая история:
- Start-up, основан 2008
- Open source бизнес модель. Получение прибыли на консалтинге и поддержке самого Hazelcast
- Более 100 пользователей, в основном в США и в Европе
Характеристики:
- Pure java 5, NIO
- Apache 2.0 licence
- Light-weight & simple
- Распределённая реализация
- java.util.{Queue, Set, List, Map}
- java.util.concurrency.locks.Lock
- java.util.concurrent.ExecutorService
- Распределённый MultiMap для взаимосвязи один-ко-многим
- Поддержка шифрования на уровне socket
- Распределённые Topic для публикации/подписки сообщений
- Socket level encryption support for secure clusters
- Синхронное (write-through) и асинхронное (write-behind) сохранение в БД
- Мониторинг и управление кластером через JMX
- Поддержка инфомации о состоянии кластера и его членов
- Динамическое обранужение
- Динамическое масштабирование
- Динамическое перераспределние резервных копий данных
- Динамический fail-over
- и другое
Конкуренты:
Сами отцы Hazelcast'а называют своими конкурентами:
- Oracle Coherence
- IBM WebSphere eXtreme Scale / ObjectGrid
- TerracoWa
- Gigaspaces
- Gemstone
- JBossCache/JGroups/Infinispan
Поскольку мой опыт ограничен Oracle/Tangosol Coherence, то сравниваю всегда именно с ним. Однако в целом продукты по функциональности очень похожи друг на друга:
- Quick start: один единственный jar, который нужно добавить в classpath
- Простое конфигурирование:
- описание кластера - имя, пароль, шифрование, если необходимо
- описание сети узлов- multicast,unicast,tcp/ip
- декларация map и их свойств
- Очень схожий API, как по функционалу, так и по названию - порой отличие только в наименовании package'ей
- Производительность (latency) - разница не более 30% (как +, так и -)
- Детально не исследовался вопрос:
- потребление cpu
- потребление памяти
- объём сетового траффика
Безусловно есть и различия.
Так, например, не касаясь вопросов лицензии и стоимости - не нашёл распределённый topic, queue, executor service
Bugs & Hazelcast:
Ошибки присутствуют, как и в любом проекте и продукте, большая часть не мешает его нормальному использованию - на критические ошибки реагируют (посте отправки issue в issue tracker) достаточно быстро - был случай, когда patch был создан в течении часа после отпраки issue.
Однако, было найденно несколько критических ошибок, которые не были исправлены (согласно svn и дате их "добавления") более полугода, что заставляет очень сильно задуматься/удивится/etc в свете заявления самих hazelcast'овцев о сотне пользователей в US/Europe.
Maven dependency:
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-all</artifactId>
<version>1.9</version>
</dependency>
Ivy dependency:
<dependency org="com.hazelcast" name="hazelcast-all" rev="1.9"/>
P.S. Можно сказать, что Hazelcast - это реальная open source альтернатива Oracle Coherence под Apache license. Сообщество живое, реагируют быстро, новые идеи и функциональность приветствуется - проект растёт и вполне успешно.
P.P.S. С недавних пор я hazelcast committer.
2 комментария:
Что-нибудь полезное уже закомитил?
http://tsya.ru
Отправить комментарий