Dobry,

Czternasty odcinek kursu o mikroserwisach w .NET Core już dostępny - kontynuujemy temat z poprzedniego odcinka dotyczący testowania aplikacji, tym razem jednak wykorzystując podejście "consumer-driven contract testing" oraz framework Pact.

Kod na GitHub:
spetz - Dobry,

Czternasty odcinek kursu o mikroserwisach w .NET Core już dostępny ...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej, mam taki problem z Dockerem, że mam dwa mikroserwisy: jeden config-service i jeden discovery-service. Jak uruchomię je bez Dockera (czyli po prostu uruchamiam ich JARy na swoim kompie), to discovery-service sobie normalnie pobiera konfigurację z serwera konfiguracyjnego i wszystko działa. Jednak gdy w dockerze kontenery z obrazów tych aplikacji skonfiguruję tak:

config-service: host port 8090, container port 8090
discovery-service: host port 8060, container port 8060

To wtedy jak uruchomię kontener config-service
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Wrath_of_the_Tyrant: jak odpalasz je w osobnych kontenerach to nie używaj localhost w adresach tylko adresy kontenerow.
Wystartuj je że wspólna siecią, z nazwami itp. Jeśli odpalasz dockera przez VBoxa to zastąp localhost adresem maszyny (domyślnie 192.168.99.100).
I pamiętaj - nigdy nie używaj localhosta.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 1
@Wrath_of_the_Tyrant: jak odpalasz w do dockerze to zamiast localhosta masz nazwę konteneru czyli np kontener 'database' to zastepujesz localhosta w URL na tą nazwę
Żeby to w springu zrobić to polecam użyć profili, w .yml możesz kilka profili w jednym pliku ustawic, poszukaj na necie
Potem tylko ustawiasz zmienna środowiskowa albo przy samej komendzie która odpalasz jara wybierasz profil
  • Odpowiedz
Cześć,

Trzynasty odcinek kursu o mikroserwisach w .NET Core już dostępny - wchodzimy w tematykę testów mikroserwisów (część I) i skupiamy się na testach integracyjnych. Wykorzystując xUnit oraz bibliotekę do testów integracyjnych w ASP.NET Core, zaczynamy od przetestowania Web API (endpoints), przez kontrakty dla danych (deserializacja żądania HTTP z oczekiwaną odpowiedzią, gdzie dane są pobrane z MongoDB), kończąc na testach dla "handlerów" (konsumowanie wiadomości z kolejki) z użyciem RabbitMQ.

Kod na GitHub:
spetz - Cześć,

Trzynasty odcinek kursu o mikroserwisach w .NET Core już dostępny -...
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dobry,

Dwunasty odcinek kursu o mikroserwisach w .NET Core już dostępny - omawiamy czym są kontenery używając Dockera, budujemy obrazy bazująć na Dockerfile, uruchamiamy kontenery, dołączamy do sieci, przeglądamy logi oraz publikujemy obraz do repozytorium Docker Hub. Finalnie spinamy proces automatycznego budowania aplikacja rozszerzając build serwer (z poprzedniego odcinka) o automatyczne wgrywanie obrazów do repozytorium oraz pokazujemy do czego przydaje się Docker Compose.

Kod
spetz - Dobry,

Dwunasty odcinek kursu o mikroserwisach w .NET Core już dostępny - ...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,

Jedenasty odcinek kursu o mikroserwisach w .NET Core już dostępny - dzisiaj stawiamy pierwsze kroki w kierunku CI & CD, zaczynając od integracji z build service (w naszym przypadku Travis CI), i następnie rozwiązujac problem lokalnych referencji współdzielonego projektu za pomocą użycia własnego feeda NuGet (jak np. MyGet).

Kod na
spetz - Cześć,

Jedenasty odcinek kursu o mikroserwisach w .NET Core już dostępny -...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Treść przeznaczona dla osób powyżej 18 roku życia...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Yo,

Dobiliśmy właśnie do 10 odcinka kursu o mikroserwisach w .NET Core - skupiamy się w nim na szeroko pojętych metrykach (czyli czymś mierzalnym w naszej aplikacji np. CPU, RAM, liczba użytkowników, ilość zapytań do serwera etc.).
Do integracji z różnego rodzaju usługami odpowiedzialnymi za przetwarzanie metryk używamy biblioteki AppMetrics i następnie omawiamy InfluxDB, Grafana oraz Prometheus.

Kod
spetz - Yo,

Dobiliśmy właśnie do 10 odcinka kursu o mikroserwisach w .NET Core - s...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Treść przeznaczona dla osób powyżej 18 roku życia...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
@feniu: tak, zauważyliśmy to po czasie niestety. Jeśli wciąż potrzebujesz wiedzieć jak używać composera to wybierz phpers ( ͡~ ͜ʖ ͡°)
  • Odpowiedz
Dobry dzień,

Dziewiąty odcinek kursu o mikroserwisach w .NET Core już dostępny - dzisiaj przedstawiamy kilka przydatnych narzędzi, zaczynając od Vault do przechowywania konfiguracji w bezpieczny sposób, przez Seq do logowania danych, kończąc na Jaeger, który umożliwia śledzenie rozproszonych akcji.

Kod na GitHub:
spetz - Dobry dzień,

Dziewiąty odcinek kursu o mikroserwisach w .NET Core już dost...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Android
  • 0
@lalalajp2_- może być ciężki, trzeba dość dobrze znać C# oraz mieć pojęcie o tworzeniu Web API, natomiast same koncepty, które się pojawiają są dość agnostyczne względem technologii.
  • Odpowiedz
Dobry,

Ósmy odcinek kursu o mikroserwisach w .NET Core już dostępny - wchodzimy w tematykę rozproszonych transakcji. Zaczynając od omówienia 2PC, przez Event Choreography i kończąc na Saga oraz Process Manager, finalnie implementujemy przykładowy proces tworzenia zamówienia, który wymaga udziału kilku mikroserwisów do jego powodzenia.

Kod na GitHub:
https://github.com/devmentors
spetz - Dobry,

Ósmy odcinek kursu o mikroserwisach w .NET Core już dostępny - wcho...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,

Siódmy odcinek kursu o mikroserwisach w .NET Core już dostępny - omawiamy czym jest CorrelationId (a dokładniej CorrelationContext), jak radzić sobie z obsłguą asynchronicznych żądań oraz jak w tym celu można wykorzystać SignalR do aktualizacji statusu w czasie rzeczywistym. Pod koniec wspominamy również o Polly - pokazujemy jak w prosty sposób można zaimplementować np. ponawianie nieudanej operacji.

Kod na GitHub:
https://github.com/devmentors
spetz - Cześć,

Siódmy odcinek kursu o mikroserwisach w .NET Core już dostępny - om...
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Masterczulki: dzięki, bardzo miło słyszeć, podziwiam, że całkowicie zmieniłeś stack :D.
@bussior: tak, będzie na pewno odcinek (albo i 2) poświęcony otoczce CI, CD, DevOps (build serwer, Docker, k8s itp.).
  • Odpowiedz
Dobry dzień,

Szósty odcinek kursu o mikroserwisach w .NET Core już dostępny - wchodzimy w trochę bardziej zaawansowane tematy, i omawiamy mechanizmy Service Discovery oraz Load Balancer z wykorzystaniem narzędzi Consul i Fabio.

Kod na GitHub:
https://github.com/devmentors
spetz - Dobry dzień,

Szósty odcinek kursu o mikroserwisach w .NET Core już dostępn...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,

Piąty (póki co najdłuższy bo prawie 80 min.) odcinek kursu o mikroserwisach w .NET Core już jest - rozmawiamy o kwerendach (query) i odczycie danych (read side) w CQRS. Implementujemy QueryHandler i DTO, a finalnie wprowadzamy wewnętrzną komunikację HTTP pomiędzy API Gateway i mikroserwisem z wykorzystaniem RestEase.

Kod na GitHub:
https://github.com/devmentors
spetz - Cześć,

Piąty (póki co najdłuższy bo prawie 80 min.) odcinek kursu o mikros...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dobry,

Czwarty odcinek kursu o mikroserwisach w .NET Core już jest - wykorzystujemy przesyłanie zdarzeń (wiadomości w kolejce) jako mechanizm asynchronicznej integracji pomiędzy mikroserwisami (jednak z technik zmniejszająca tzw. "temporal coupling" i zwiększająca "resiliency").

Kod na GitHub:
https://github.com/devmentors
spetz - Dobry,

Czwarty odcinek kursu o mikroserwisach w .NET Core już jest - wykor...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,

Trzeci odcinek kursu o mikroserwisach w .NET Core został opublikowany - subskrybujemy się pod RabbitMQ w celu przetworzenia nadchodzącej wiadomości, oraz modyfikujemy API Gateway aby obsłużyć żądanie HTTP.

Kod na GitHub:
https://github.com/devmentors
spetz - Cześć,

Trzeci odcinek kursu o mikroserwisach w .NET Core został opublikowa...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dobry dzień,

Drugi odcinek kursu o mikroserwisach w .NET Core jest już dostępny - tworzymy proste HTTP API w oparciu o CQRS, które będzie w stanie przyjąć i następnie obsłuzyć komendę.

Kod na GitHub:
https://github.com/devmentors
spetz - Dobry dzień,

Drugi odcinek kursu o mikroserwisach w .NET Core jest już dos...
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,

Tak jak obiecaliśmy z Darkiem już jakiś czas temu, tak w końcu nagraliśmy 1 odcinek obiecanego kursu o mikroserwisach w .NET Core. W pierwszej części ogólne info odnośnie konfiguracji, uruchomienia etc.

Kod na GitHub:
https://github.com/devmentors
spetz - Cześć,

Tak jak obiecaliśmy z Darkiem już jakiś czas temu, tak w końcu nagr...
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #microservices #mikroserwisy #ddd Szukam dobrego rozwiązania komunikacji pomiędzy mikroserwisami. Czy ktoś wie, jaki jest najlepszy sposób na pobranie danych z innego mikroserwisu? Zakładam, że pobieranie przez REST jest słabym rozwiązaniem (ryzyko stworzenia gwiazdy śmierci). Kolejkowanie byłoby spoko gdybym nie potrzebował tych danych adhoc. Ktoś ma doświadczenie z takimi scenariuszami?
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
@MarcelMcOne: Jeśli masz dużo microserwisów to jak architektura nie daje rady, to wprowadź kolejną warstwę. Np. szynę ESB. Albo lżejsze rozwiązanie API Gateway, żebyś zawsze wiedział gdzie strzelasz i ile hopów. Albo technologiczne rozwiązanie tego ostatniego GraphQL.
  • Odpowiedz
Cześć,

Jakiś czas temu wspominałem, że razem z Darkiem pracujemy nad kodem (a docelowo kursem) poświęconemu tworzeniu mikroserwisów w .NET Core. Po ponad półrocznym "kodzeniu" po godzinach, tonie zebranego "feedbacku" na różnego rodzaju konferencjach i wielu zmianach koncepcji, wstępnie ukończyliśmy pierwszą wersję solucji, a poniżej krótki teaser ( ͡° ͜ʖ ͡°).

Pozwólcie, że z grubsza przekleję (ponieważ całość będzie po angielsku) jakie tematy
spetz - Cześć,

Jakiś czas temu wspominałem, że razem z Darkiem pracujemy nad kodem...
  • 40
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach