Skip to content

Latest commit

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

mikro_revisited_lg_v2

Mikroserwisy: Revisited

W 2020 wydalismy kurs Mikroserwisy .NET, ktory pomogl tysiacom programistow poznac te architekture.

Od tamtej pory pracowalismy z wieloma systemami rozproszonymi - rozwijalismy je, naprawialismy, wyciagalismy z dlugu technicznego. Widzielismy co dziala, a co prowadzi donikad.

Dzis nie uczymy juz tylko "jak zaczac z mikroserwisami". Pokazujemy jak nie utonac, gdy system rosnie, zespol sie powieksza, a zlozonosc wymyka sie spod kontroli. Jak rozwijac architekture, ktora juz istnieje - bez rewolucji i przepisywania od zera.

Z samym kursem mozesz zapoznac sie na: https://mikroserwisy-revisited.pl

Czym jest projekt TicketFlow?

Ticketflow to rozproszony system ticketowy, w kt贸rym w prosty spos贸b zesp贸艂 anglojezyczny jest w stanie obs艂ugiwa膰 zg艂oszenia klient贸w z ca艂ego 艣wiata. Dodatkowo, by utrzyma膰 SLA wynikaj膮ce z um贸w podpisanych z klientami, system (poza wspieraniem procesu obs艂ugi ticketow) wspiera agent贸w service desk w postaci przypomnie艅, alertowania czy prezentowania metryk na 偶ywo.

Dla os贸b zaznajomionych z nasz膮 tw贸rczo艣ci膮, z punktu "domenowego" jest to rozwini臋cie rozwa偶a艅 nad aplikacj膮 znan膮 z innego kursu: Messaging:Pragmatycznie

Stos technologiczny

Warstwa Technologie
Backend .NET 10, ASP.NET Core, Entity Framework Core
Frontend React 18, shadcn/ui, CopilotKit
Messaging RabbitMQ
Baza danych PostgreSQL
Obserwowalnosc OpenTelemetry, Jaeger, Prometheus, Grafana, Langfuse
Infrastruktura Docker, Kubernetes
AI Ollama, Microsoft.Extensions.AI, MCP, A2A

Jak uruchomic?

Wymagania:

Szybki start

Uruchamiamy cala infrastrukture i wszystkie serwisy jednym poleceniem:

./run_ticketflow.sh

Krok po kroku

  1. Uruchamiamy infrastrukture (RabbitMQ, PostgreSQL, Jaeger, Prometheus, Grafana):
./run_infra.sh
  1. Uruchamiamy wybrane serwisy backendowe, np.:
dotnet run --project src/Services/Tickets/TicketFlow.Services.Tickets.Api
  1. Uruchamiamy frontend:
cd src_frontend/tickets && npm install && npm run dev

Kubernetes

Alternatywnie, system mozna uruchomic na Kubernetesie:

./k8s/build-images.sh
./k8s/start_services.sh

Moduly kursu

Repozytorium obejmuje material z 9 modulow tematycznych:

  1. Wprowadzenie - setup projektu TicketFlow
  2. Kiedy mikroserwisy? - kryteria wyboru architektury
  3. Komunikacja wewnetrzna - sync, async, orkiestracja vs. choreografia, PACELC
  4. Dane w systemach rozproszonych - zarzadzanie danymi miedzy serwisami
  5. Infrastruktura - projektowanie infrastruktury i izolacja zasobow
  6. API zewnetrzne - komunikacja zewnetrzna i wersjonowanie
  7. Governance - metryki, dokumentacja, katalog serwisow
  8. AI - integracja z AI (MCP, agenci)

Wsparcie

circle_support

About

[PL] Mikroserwisy 6 lat p贸藕niej czyli... jak nie uton膮膰 馃槈

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages