2010-01-08 3 views
11

Я ищу библиотеку (или комбинацию библиотек) для создания распределенной системы java, состоящей из нескольких приложений, обмениваемых данными через несколько парных соединений (без mapreduce). На данный момент я сделал изъятие существующих библиотек, и я мог только отбросить то, что нашел. Вот мои требования:Ядро для распределенной системы

  • Простое обнаружение систем во время выполнения (возможно, через центральный сервер/каталог)
  • облегченного и низкой латентностью сообщений (не CORBA, RMI, SOAP и т.д.) ,.
  • децентрализованного коммуникации (не ЛИНДА как)
  • достаточно простая в использовании и не узнать (не JXTA)
  • Совместимость с лицензией GPL (так GPL, BSD и т.д.)

Есть ли у вас какие-либо предложения? Заранее благодарен

ответ

10

Вы знакомы с JGroups? Вы можете использовать его для разработки своей собственной архитектуры. Они обеспечивают легкую в использовании многоадресную абстракцию.

+0

Как JGroups работают с двухточечной связью? – paradigmatic

+0

Вы всегда можете попробовать и узнать! –

+0

+1 для JGroups - отличный инструмент – skaffman

5

Я большой поклонник JGroups, но недавно обнаружил hazelcast и, вероятно, попробую. Возможно, это то, что вы ищете.

1

JBoss, хорошо, это не каркас, но у них есть ряд проектов, которые звучат так же, как и вы.

2

Я думаю River Apache (ранее Джини) должны, по крайней мере, следует упомянуть. Он никогда не получал слишком много внимания, вероятно, также потому, что имел (не знаю, все еще есть) довольно крутая кривая обучения. Во всяком случае, она находится на стадии активного развития:

http://river.apache.org/

1

Вы можете использовать Redisson - распределенные и масштабируемые структуры данных Java (BitSet, BloomFilter, Set, SortedSet, Map, ConcurrentMap, List, Queue, Deque, BlockingQueue, BlockingDeque , ReadWriteLock, Semaphore, Lock, AtomicLong, CountDownLatch, Publish/Subscribe, RemoteService, ExecutorService, LiveObjectService, ScheduledExecutorService) сверху высокая эффективность Redis сервер.

Смежные вопросы