Messaging, aktorzy i RX

0

Popularne rozwiazania dla messaging, pub sub itp. to JMS, activeMQ, rabbitmq, amqp itd.

Nie znam sie na tym zupelnie i nie wiem gdzie zaczac. Na zadnym z powyzszych.

Zastanawia mnie czy do microservicow w java, mozna by jakos wykorzystac do tego takie rzeczy jak akka (moze w scali) lub cos z reactive programming?

Ogolnie nie wiem jak te tematy polaczyc lub rozdzielic. Pewnie mozna jakos polaczyc brokerow z tymi konceptami?

Co byscie polecili?

0

Po co ci to ?Co chcesz osiągnąć?

0

Na razie nie wiem do konca jakie beda use casy, bo to nie moj pomysl, ale mysle, ze moge miec wplyw na technologie. A przy tym nauczyc sie czegos nowego.

Generalnie do publikacji eventow i subskrybowania. Np. Jedna usluga wystawi eventy a dluga naslucha i wysle do userow maile, czy cokolwiek.

Ciekawia mnie troche te nowe rzeczy i zastanawia mnie czy mozna je jakos wykorzystac.

0

jakieś sugestie?

0

Kolejki JMS są szeroko wykorzystywane w korporacjach. Mają zwykle pewne właściwości, które czynią je użytecznymi:

  • zapisywanie wiadomości na dysk - dzięki temu są odporne na wiele awarii,
  • transakcyjność - jeśli przetwarzanie wiadomości się wykrzaczy z jakiegoś powodu niezależnego od samej wiadomości, to np nie oznaczamy jej jako przetworzonej, ale odpalamy aplikację od nowa, a ta wczytuje sobie wiadomość ponownie i ją przetwarza,
  • buforowanie wiadomości - dzięki temu można wyrównywać obciążenie w przedziałach czasu,
  • niezależność od aplikacji - możemy restartować aplikację bez obawy o utratę wiadomości lub utratę ciągłości działania; świat zewnętrzny zaobserwuje jedynie wydłużenie się odpowiedzi od naszej aplikacji w czasie, gdy ona będzie się restartować,

Mikroserwisów i Akki używam w projekcie w firmie, z tym, że jestem programistą Scali, więc nie powinno to dziwić ;]
W Reactive Programming jeszcze się mocno nie zagłębiałem, więc nie wiem nawet czym to się różni od tego co już mam w projekcie.

0

No ale akka to zdecydowanie cos wiecej niz JMS ale z racji swojej natury wydaje sie, ze mozna to zgrabnie polaczyc.

A umialbys to porownac do rozwiazan javowych ?

Fajna ta akka w scali? Ogolnie zaczalem sie uczyc Scali, przez co chetniej korzystam z Javy 8 i podoba mi sie ten jezyk.

Dla mojego rozwoju pewnie fajnie byloby w to uderzyć i chetnie bym to zrobil ale pewnie musialbym miec argumenty by to wykorzystac ;) i byc moze moglbym to przemycic w pub sub ;)

No ale nie wiem czy javowiec jak ja, ktory moze co najwyzej crudy z zamknietymi oczami trzaskac da sobie z tym wszystkim rade, ale przynajmniej bym sie czegos ciekawego nauczyl ;)

0

Jak już napisałem, kolejki JMS to korporacyjny standard, więc używanie ich raczej spotka się z uznaniem niż dezaprobatą. Dodatkowo, da się je elegancko połączyć z Akką (za pomocą Akka Camel, my tak robimy w projekcie), więc te rozwiązania się wzajemnie nie wykluczają.

Argumenty ciężko podać, bo nie znam dobrze twoich problemów. Zalety aktorów są opisywane w wielu miejscach, nie wiem czy jest sens je powtarzać.

0

Hej, podepne sie pod temat.

Od czego zaczac przygode z jms?
O jave chodzi.

0

Przygodę z JMS łatwo zacząć. Potrzebujesz message broker np. Apache ActiveMQ. Poczytaj czym jest:

  • kolejka
  • temat (publish-subscribe channel)
  • jaka jest idea i jakie problemy rozwiązuje komunikacja asynchroniczna

Do komunikacji możesz wykorzystać szablon JMS ze Springa. Zanim zaczniesz pisać najlepiej narysuj sobie diagram przypadków użycia asynchronicznej aplikacji, którą chcesz napisać.

0

To zaczne od jms, activemq i springa. Dzieki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1