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

Handling TV Ad Traffic Influx with Microservices

Handling TV Ad Traffic Influx with Microservices

https://wantedly.connpass.com/event/135968/ での登壇資料です。

Ryo Kubota

July 23, 2019
Tweet

More Decks by Ryo Kubota

Other Decks in Programming

Transcript

  1. • What is Microservices? • About our TV Ad •

    Discussion on Microservices after TV Ad "HFOEB
  2. An architecture that structures a big system as a collection

    of small services 8IBUJT.JDSPTFSWJDFT
  3. l0OF"QQGPS&WFSZ#PEZz The concept goes well with Microservices New functions have

    been quickly released UP$BQQ "VUIFOUJDBUJPO &DPNNFSDF "* $PVQPO 8FBSBCMF 3FDPFOHJOF -JGFMPH 4/4 $IBU UP#TJUF 1PJOU 4VQQMFNFOU
  4. • Traffic influx • Parallel development right before the TV

    ad • But NO DOWNTIME 8FIBOEMFE57"E
  5. • You just need to focus on a single function

    • This can only be done with Microservices 1BSBMMFM%FWFMPQNFOU
  6. &YBNQMFBU'J/$ .POPMJUI 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF% : Synchronize user info

    • This monolith has a knowledge about to which services it has to synchronize its information => Tight coupling (Anti-pattern)
  7. • Anti-pattern emerged as a problem under increased traffic •

    The queues for synchronization got stuck *ODJEFOU%VSJOH57"E
  8. -PPTF$PVQMJOH • Each microservice should not have knowledge about other

    services • Use pub/sub model instead • Microservice just publishes some event • Other microservices subscribe it if needed
  9. .JHSBUJPOGSPN.POPMJUI • When you adopt Microservices, you often need to

    migrate from monolithic architecture • Legacy monolith is likely to be tightly coupled to other services • Complete migration not to fall into anti-patterns • Otherwise you might end up increasing complexity
  10. $PODMVTJPO • We ran TV ad • We handled the

    traffic influx and parallel development with Microservices • Explained about a legacy monolith as future improvement