Wpis z mikrobloga

Pod tagiem #devopsiarz będę od czasu do czasu rzucał ciekawy soft z działki #devops, w tym #golang (zwłaszcza)

I tak, rozpoczynając tę serię, mam przyjemność przedstawić bibliotekę pisaną przez kolegów - watermill - to biblioteka w Go, dzięki której, nie musisz praktycznie zmieniać nic w kodzie, jeśli używasz np. RabbitMQ, ale po jakimś czasie stwierdzisz, że jednak wolisz Kafkę. Później jak Kafka się znudzi, to można użyć czegoś innego, co Watermill obsługuje, a obsługuje niemało (lista: https://watermill.io/pubsubs/ ) i obsługi nowych backendów sukcesywnie przybywa. Jest to po prostu warstwa abstrakcji, do obsługi tego typu narzędzi, przydatnych przy CQRS, ES lub po prostu wiadomościach asynchronicznych.

Strona https://watermill.io w zasadzie wyjaśnia wszystko, więc ja nie będę tutaj nadmiarowo dodawał, także jak piszesz w #golang i głowa Cie boli od możliwości w tej materii, użyj Watermill, który pozwoli Ci na dużą dowolność wyboru, bez konieczności rozbebeszania kodu.

#programowanie #technologia
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

biblioteka w Go, dzięki której, nie musisz praktycznie zmieniać nic w kodzie, jeśli używasz np. RabbitMQ, ale po jakimś czasie stwierdzisz, że jednak wolisz Kafkę


@devopsiarz: nie idzie ta droga. Kafka i rabbit to nie sa wymienne technologie. One maja troche inne use casey. Niestety zauważyłem że wiele osób którzy nie rozumieją czym jest kafka traktują ją jak kolejke.
Jesli ktos używa kafki jak Rabbita to znaczy ze cos robi
  • Odpowiedz
@leoha: tak, ja to wiem, chodzi o to, że nie musisz kodu rozgrzebywać. Oczywiście w Kafce możesz chcieć odpytywać o konkretne offsety/partycje (lub wysyłać na dane partycje), ale jak użyjesz "normalnych" driverów najpierw do RabbitMQ, później do Kafki, to będziesz miał miszmasz w kodzie, bo pewnie mają inne metody, inne opcje, itp.

// edit: nigdzie nie piszę, że one są wymienne :-)
  • Odpowiedz