Можно ли масштабировать Axon Framework без Axon Server Enterprise? - PullRequest
2 голосов
/ 14 октября 2019

Можно ли масштабировать Axon Framework без Axon Server Enterprise ? Я заинтересован в создании прототипа приложения CQRS с Axon, но окончательная, развертываемая система должна быть бесплатной. Если Axon Framework не может быть масштабирован до полудюжины узлов с помощью свободного программного обеспечения, то я, вероятно, должен искать в другом месте.

Если бы Axon Framework оказался не лучшим выбором для системы, что бы вы порекомендовали? Будет ли разумной альтернативой строить что-то вокруг Apache Pulsar?

1 Ответ

2 голосов
/ 15 октября 2019

Думаю, у меня для вас хорошие новости. Вы можете прекрасно использовать Axon Framework с Axon Server Enterprise.

Во-первых, вы можете использовать стандартную версию Axon Server, которая совершенно бесплатна, и вы также можете проверить код, если хотите. Если вы предпочитаете вернуть инфраструктуру в свои руки, вы также можете выбрать различные подходы к распределению CommandBus и EventBus / EventStore.

Для CommandBus платформа предоставляет DistributedCommandBus, для которого имеются две реализации:

  1. JGroups
  2. Spring Cloud

Я бы сказал, что вариант 2 является наиболее идеальным для распределения ваших команд, так как он дает вам свободу выбора любой реализации Spring Cloud Discovery Service, которую вы пожелаете. Это даст вам возможность работать «без лицензий» в этой области.

Для распространения событий вы можете широко использовать два подхода:

  1. Совместное использование базы данных, иначеваш EventStore, среди всех экземпляров
  2. Используйте шину сообщений о событиях для распределения сообщений о ваших событиях

Если вы хотите, чтобы экземпляры ваших узлов могли использовать источник событий в качестве модели команд,вы склонны использовать опцию 1. Это необходимо, поскольку Axon Framework требует выделенного EventStore, чтобы иметь возможность получать командные модели из истории.

Когда вы просто хотите подключить другие приложения к вашему потоку событий,Вариант 2 подойдет. Опять же, каркас имеет две опции в этой области:

  1. AMQP
  2. Kafka

Единственное, что я хотел бы отметить в этой части, это то, что расширение Kafka все еще находится в состоянии релиза-кандидата. В настоящее время он активно работает над ним.

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

Единственное, что вы не можете распространять, это QueryBus. Существует нерешенная проблема 1056 *, для решения которой кто-то приложил усилия для предоставления PR . Посмотрев, как это делает выпуск Axon Server Standard, он намеренно закрыл PR (со следующим комментарием ), так как ему не удавалось поддерживать такой инструмент на данном этапе.

Итак, можете ли вы использовать Axon Framework без Axon Server Enterprise? Ну, я думаю, ты можешь. :-) Имейте в виду, хотя, хотя вы бы выиграли, если бы не использовали лицензионный сбор, если бы вы не использовали Axon Server Enterprise, это не значит, что ваша продукция будет бесплатной. Вы бы представили довольно некоторую инфраструктуру и время производства для этого.

Надеюсь, это даст вам много отзывов @ahoffer!

...