Serwery

Serwery #

Zakres wykładu #

  • Serwery iteracyjne
  • De-multipleksery zdarzeń: select()/poll()/epoll()
  • Architektura “wątek na połączenie”
  • Problem C10k
  • Metryki jakości: QPS, EPS, latencja
  • Serwery współbieżne oparte o pętlę zdarzeń
  • Skalowanie pętli zdarzeń
    • wpółdzielone demultipleksery z użyciem EPOLLONESHOT
    • prywatne demultipleksery
    • SO_REUSEPORT dla skalowania accept()
  • Wzorzec Reactor
  • Wzorzec Maszyna Stanów
  • Korutyny
  • Rozwiązania Zero-Copy

Materiały #

  1. Slajdy wykładowe
  2. Programy przykładowe
  3. Stare slajdy: Inet_3.pdf
  4. Dokumentacja The GNU C library: 13.8: Waiting for Input or Output, 16.11: The inet daemon, 18.1 Overview of Syslog, 24.2.4: Asynchronous I/O Signals