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

「Yahoo!オークション」や「Yahoo!路線情報」などを支える、イベント内容に合致する通知...

「Yahoo!オークション」や「Yahoo!路線情報」などを支える、イベント内容に合致する通知設定の抽出プラットフォームをレガシーシステムから移行した際のあれこれ / Various Aspects When Migrating the Notification Setting Extraction Platform Supporting "Yahoo! JAPAN Auction" and "Yahoo! JAPAN Transit Information" from Legacy Systems

ヤフーの通知を長年支えるシステムの中に、イベント内容にマッチするユーザー設定を見つけ出す役割を担うコンポーネントがあります。しかし、近年ではビルドの困難さやメンテナンスの難しさ、IaaS依存といった問題が顕著化しました。
そこで、互換性を保ちつつこの問題を解決するために新たなコンポーネントを開発しました。新コンポーネントでは、開発言語を変更することでの修正コスト削減、コンポーネント分割や内部キャッシュの一元管理によるリソース効率の改善などの施策を講じました。また、開発したシステムが問題なく動作することを検証するために新旧システムの入出力を比較しました。
この発表では、大規模通知システムの再設計やその過程で直面した課題とその解決策などについて解説します。

More Decks by LINEヤフーTech (LY Corporation Tech)

Other Decks in Technology

Transcript

  1. )PX.BUDIJOH8PSLTJOUIF/PUJGJDBUJPO'MPX Ϛονϯάίϯϙʔωϯτͷಈ࡞ 4FSWJDF CBDLFOE .BUDIJOH DPNQPOFOU %FMJWFSZ4ZTUFNT Saving Settings User

    Extraction 中古 テレビ 42型 リモコン付き 送料込み Used 42-inch TV with remote control, shipping included. Used 42-inch .BUDI Notification Event
  2. #FGPSF "GUFS 1PJOU 1SPHSBNNJOH -BOHVBHF $ (P • 1FSGPSNBODFPSJFOUFE •

    $POTJEFSJOUFSOBMBEPQUJPOSBUF 0QFSBUJOH &OWJSPONFOU *BB4 $BB4 • "DIJFWFEUISPVHIJNQMFNFOUBUJPOBOEDPOGJHVSBUJPOSFWJFX %FMJWFSZ 4FUUJOH%BUB -PDBM 4IBSFE,74 • 3FEVDFEJOGSBDPTU • "QQMJDBUJPOCFDPNFTTUBUFMFTT %JTUSJCVUJPO $PVOU 'JYFE 4DBMBCMF • "EKVTUBCMFEJTUSJCVUJPODPVOUCBTFEPOOPUJGJDBUJPOTDBMF • *NQSPWFSFTPVSDFFGGJDJFODZ "QQMJDBUJPO "SDIJUFDUVSF .JYFEJOPOF 4QMJU • "MMPXDIBOHJOHEJTUSJCVUJPODPVOUQFSBQQ ,FZ%JGGFSFODFT#FUXFFOUIF4ZTUFNT#FGPSFBOE"GUFS3FQMBDFNFOU ϦϓϨʔεલޙͷγεςϜͷओͳҧ͍
  3. setting event event2 KVS 80VMs 10pods 40pods 20pods KVS/RDB Setting

    Update Notification Event setting event #FGPSF "GUFS Setting Update Notification Event
  4. 7BSJPVT"TQFDUT8IFO.JHSBUJOH Ҡߦͨ͠ࡍͷ͋Ε͜Ε • *OJUJBMMZ"OUJDJQBUFE*TTVFT • *TUIFPVUQVUUSVMZUIFTBNFBTUIFPMETZTUFN • "SFUIFSFBOZNJTEFMJWFSJFT FUD •

    *TTVFT&ODPVOUFSFE%VSJOH%FWFMPQNFOUBOE5FTUJOH • )JHIFSDPTUUIBOFYQFDUFE • &WFOUQSPDFTTJOHJTUPPTMPX • %FMJWFSZDPVOUEJGGFSTGSPNFYQFDUBUJPOT FUD • $BOUDPWFSFWFSZUIJOH TPIFSFTBTFMFDUJPO
  5. • 7BMJEBUFEPVUQVUXJUISFBMUJNFUFTUTZTUFN • 0VUQVU$POGJHVSBUJPOEBUBUBSHFUFEGPSEFMJWFSZ • $PNQBSFEDPOUFOUBOEUBSHFUDPVOUT • 6TFEBOPOZNJ[FEQSPEVDUJPOEBUBVOEFSSFBMMPBE l*TUIFPVUQVUUSVMZUIFTBNFBTUIFPMETZTUFN z

    چγεςϜͱຊ౰ʹಉ͡ग़ྗʹͳ͍ͬͯΔʁ Production Notification Event New System Sanitize Compare Test Production Current Copy Current ग़ྗͷʮ಺༰ʯͱʮ਺ྔʯΛͦΕͧΕൺֱ ग़ྗ഑৴ର৅ͷઃఆσʔλ ϦΞϧλΠϜͰग़ྗΛൺֱ͢ΔςετγεςϜ ಗ໊Խ͞ΕͨϓϩμΫγϣϯ؀ڥͷ࣮σʔλΛ࢖༻
  6. Is there a KVS record? Use KVS content Notification Event

    Subsequent processing Generate KVS record from RDB Setting Update Save in RDB Is there a KVS record? Save in KVS Subsequent processing :FT /P /P :FT
  7. Is there a KVS record? Use KVS content Notification Event

    Subsequent processing Generate KVS record from RDB Setting Update Save in RDB Is there a KVS record? Save in KVS Subsequent processing :FT /P /P :FT
  8. Is there a KVS record? Use KVS content Notification Event

    Subsequent processing Generate KVS record from RDB Setting Update Save in RDB Is there a KVS record? Save in KVS Subsequent processing :FT /P /P :FT
  9. [UserA: ”Used TV”, UserB: ”Used wallet”, UserC: “Usedsneakers”, ・・・] ・・・

    Used TV 42-inch 中古 テレビ 42型 リモコン付き 送料込み Used 42-inch TV with remote control, shipping included. Index “Used”
  10. ・・・ Used TV 42-inch 中古 テレビ 42型 リモコン付き 送料込み Used

    42-inch TV with remote control, shipping included. Index “Used TV” [UserA: ”Used TV”]