Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architektura Asynchroniczna w praktyce na przykładzie BlaBlaCar

fnxnet
April 10, 2016

Architektura Asynchroniczna w praktyce na przykładzie BlaBlaCar

Prezentacja z 4Developers 2016

fnxnet

April 10, 2016
Tweet

Other Decks in Programming

Transcript

  1. BlaBlaCar w liczbach 30mln użytkowników 20 Instancji Frontu 87 Programistów

    i architektow 11 Nodów bazy danych 200 Serwerów Mobilnych użytkowników 18mln
  2. Co się dzieje po rezerwacji miejsca? Czas Wysyłamy maila do

    rezerwującego Wysyłamy SMS’a do kierowcy Indeksujemy Zapisujemy w bazie Zbieramy statystyki Odpowiedź
  3. A gdyby tak… Czas Wysyłamy SMS’a do kierowcy Wysyłamy maila

    Indeksujemy Zapisujemy w bazie Zbieramy statystyki Klik…
  4. MAILER Serwis A MAILER Serwis B Workery FRONT Front Load

    balancer Monitoring / Logi Baza Danych Indekser Cache API Load balancer Serwer kolejkowania wiadomości
  5. Fanout Exchange konsumer A konsumer A konsumer B konsumer C

    Exchange Publisher Kolejka 1 Kolejka 2 Kolejka 3
  6. Routing keys Publisher konsumer A konsumer A konsumer B konsumer

    C Exchange Kolejka 1 Kolejka 2 Kolejka 3 route_1 route_2 route_3 route_1 route_2
  7. A co jeśli… …masz 100 (1000 instancji) workerów? … przetwarzasz

    2500 do 7500 wiadomości na sekundę w Rabbicie?
  8. Źródła: • http://queues.io/ • https://www.rabbitmq.com Przydatne pakiety: • swarrot/swarrot •

    pimple/pimple • silex/silex • php-amqplib/RabbitMqBundle Podziękowania dla Olivier’a Dolbeau :)