Upload
miroslaw-karczmarczyk
View
134
Download
0
Embed Size (px)
Citation preview
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ów18mln
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ź
A gdyby tak…
Czas
Wysyłamy SMS’a do kierowcy
Wysyłamy maila
Indeksujemy
Zapisujemy w bazie
Zbieramy statystyki
Klik…
Komunikacja pomiędzy mikroserwisami
Synchroniczna Asynchroniczna
Kolejkowanie wiadomości
Publisher - Subscriber
REST API
MAILERSerwis A MAILERSerwis B
WorkeryFRONTFront
Load balancer
Monitoring / LogiBaza Danych IndekserCache
API
Load balancer
Serwer kolejkowania wiadomości
Fanout Exchange
konsumer A
konsumer A
konsumer B
konsumer C
ExchangePublisher
Kolejka 1
Kolejka 2
Kolejka 3
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
A co jeśli…
…masz 100 (1000 instancji) workerów?
… przetwarzasz 2500 do 7500 wiadomości na sekundę w Rabbicie?
BlaBlaCar.com/dreamjobs@BlaBlaCarTech
Backend Engineers
Frontend Engineers
iOS Engineers
Android Engineers
WARSZAWA PARYŻ
Ź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 :)