Dropwizard – usługi gotowe w kilka minut
Mikroserwisy przeznaczone do uruchamiania w chmurze powinniśmy od samego początku projektować myślą o ich przeznaczeniu. Rozwiązania uniwersalne będą mniej wydajne.
Jednym z frameworków używanych w procesie budowania mikroserwisów Java jest Dropwizard, charakteryzujący się lekkością i szybkością dostarczania usług, zarówno podczas budowy, jak i uruchamiania usług internetowych [1]. Poniżej opiszemy, jak wygląda tworzenie aplikacji opartej o Dropwizard jako pliku JAR i dostarczanie ich jako skalowalnych mikroserwisów w chmurze UniCloud. Proces automatyzowany jest z wykorzystaniem narzędzia Dropwizard Fat Jar Builder, które tworzy węzeł Maven z zestawem serwerów JVM i inicjuje dostarczanie aplikacji.
Rysunek 1: Schemat działania [2]
Instalacja Dropwizard Fat Jar Builder
W panelu UniCloud [3] z listy gotowych aplikacji wybierz Dropwizard Fat Jar Builder i kliknij Zainstaluj
Rysunek 2: Wybór klastra do instalacji.
Możesz też zaimportować manifest Dropwizard Fat Jar Builder z GitHub [4]:
Rysunek 3: Import manifestu.
W razie potrzeby zmień ustawienia instalacji (na przykład odsyłacz do projektu w Git Repo albo nazwę środowiska) oraz naciśnij Zainstaluj.
Rysunek 4: Instalacja środowiska
Po zakończeniu instalacji i budowy projektu pojawi się odpowiedni komunikat. Zaczekaj do zakończenia wdrożenia
Rysunek 5: Proces wdrażania
Rysunek 6: Zakończenie instalacji
Po instalacji weryfikujemy, czy proces zakończył się pomyślnie, otwierając przeglądarkę
Rysunek 7: Weryfikacja poprawności instalacji
Uruchamianie wielu mikrousług z projektami Dropwizard
Utworzony węzeł Maven może służyć do budowy innych projektów i wdrażania ich w innych projektach,
Rysunek 8: Schemat tworzenia kolejnych projektów
Na początku należy utworzyć oddzielne środowisko z Java Engine
Rysunek 9: Tworzenie drugiego środowiska
A następnie dodać projekt do węzła Maven w początkowym środowisku
Rysunek 10: Dodawanie drugiego środowiska
Określ nazwę, link do projektu i środowisko, w którym ma zostać wdrożony. Zdecyduj, czy aktualizacje mają być aktywowane automatycznie. Potwierdź naciskając Dodaj + Utwórz.
Rysunek 11: Dodawanie drugiego projektu do węzła Maven
Rysunek 12: Maven obsługujący pierwsze dwa projekty
W ten sposób można budować i wdrażać aplikacje oparte o Dropwizard, tworząc mikrousługi w chmurze.
[1] Dropwizard:
https://www.dropwizard.io/1.3.11/docs/
[2] Jelastic, Blog:
https://jelastic.com/blog/dropwizard-automatic-build-and-deploy-to-cloud-native-microservices
[3] Panel UniCloud:
https://app.unicloud.pl
[4] Dropwizard Fat Jar Builder:
https://github.com/jelastic-jps/dropwizard/tree/master/microservice-fat-jar
Autor:
Piotr Niemcewicz pracuje jako inżynier w Centrum Danych Asseco Data Systems S.A., gdzie zajmuje się projektowaniem i wsparciem podczas wdrażania systemów.