Successfully reported this slideshow.
Your SlideShare is downloading. ×

Jiří Koutný - RabbitMQ - spolehlivé zpracování dat na pozadí (2. sraz přátel Symfony v Praze)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 19 Ad

Jiří Koutný - RabbitMQ - spolehlivé zpracování dat na pozadí (2. sraz přátel Symfony v Praze)

Download to read offline

V Collabimu potřebujeme denně zpracovávat miliony záznamů na pozadí. Dříve jsme to dělali cronem, ale bylo to pomalé a nespolehlivé. Na přednášce vám ukážu, jak to s RabbitMQ dělat mnohem lépe.

V Collabimu potřebujeme denně zpracovávat miliony záznamů na pozadí. Dříve jsme to dělali cronem, ale bylo to pomalé a nespolehlivé. Na přednášce vám ukážu, jak to s RabbitMQ dělat mnohem lépe.

Advertisement
Advertisement

More Related Content

More from Péhápkaři (20)

Advertisement

Jiří Koutný - RabbitMQ - spolehlivé zpracování dat na pozadí (2. sraz přátel Symfony v Praze)

  1. 1. Jiří Koutný Collabim
  2. 2. Co děláme v Collabimu 150 000 klíčových slov denně Postahujeme 900 000 stránek z vyhledávačů Vyparsujeme jednotlivé URL stránek Hledáme v nich weby klientů
  3. 3. E-shop má 10 000 obrázků produktů a potřebuje je převést do různých velikostí. Jak na to? Praktický příklad:
  4. 4. 1. Jak si uložím, co už jsem udělal a co ne? 2. Způsob spouštění převodního skriptu. Cron? Linux service? 3. Spolehlivé spuštění více než jedné instance převodního skriptu 4. Ošetření, když některé konverze selže (dočasně/trvale) 5. Odložení znovuspuštění položek, které selhaly. 6. Jedna zaseknutá položka nesmí zaseknout celou frontu Co potřebujeme vyřešit (motivace)
  5. 5. Tak šel čas... MySQL fronty, cron MySQL fronty, init skripty RabbitMQ (+ MySQL), init skripty
  6. 6. “RabbitMQ is a complex beast” “It’s flexible, powerful but also hard to entirely grasp and master.” https://antoniogarrote.wordpress.com/2014/10/14/building-a-job-processing-system-for-jvm-apps-with-rabbitmq/
  7. 7. exchange x routing key x queue
  8. 8. https://www.rabbitmq.com/tutorials/amqp-concepts.html
  9. 9. image-conversion image-conversion-failed on failureafter 10 minutes
  10. 10. image-conversion image-conversion-failed on failureafter 10 minutes consumerproducer exchange: amq.direct routing key: image-conversion
  11. 11. Publish v PHP s pomocí videlalvaro/php-amqplib
  12. 12. Publish v Symfony s pomocí oldsound/rabbitmq-bundle
  13. 13. Consume v Symfony
  14. 14. bin/console rabbitmq:consumer image_conversion … pustím kolikrát chci
  15. 15. 1. prefetch_count = 1 !!!!!!! 2. x-max-priority (0 - 255) 3. bin/console setup-fabric 4. batch publish 5. Jak zabránit umírání MySQL spojení? 6. Jde consumovat více zpráv najednou? Co se může hodit
  16. 16. 1. AMQPLazyConnection extends AMQPStreamConnection extends AbstractConnection extends AbstractChannel 2. Jedna fronta se konfiguruje na 2 místech! 3. Chcete využívat Dependency Injection? Bude to bolet. 4. Budete to tak dlouho hackovat, až skoro napíšete vlastní bundle oldsound/rabbitmq-bundle sucks! Díky! Jiří Koutný

×