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

AppSyncに全集中!subscriptionでハマったところ #jawsug_asa

AppSyncに全集中!subscriptionでハマったところ #jawsug_asa

クォータに引っかからないようにチェックしましょう
AppSyncさんおすすめです

https://jawsug-asa.connpass.com/event/218077/

Kazuki Miura

August 26, 2021
Tweet

More Decks by Kazuki Miura

Other Decks in Technology

Transcript

  1. ʙsubscriptionͰϋϚͬͨͱ͜Ζʙ
    શूத
    AppSync

    ೥݄೔
    ࡾӜҰथ

    View Slide

  2. ࡾӜ Ұथ (35)
    ๺ւಓςϨϏ์ૹ
    JAWS-UG ࡳຈ
    MediaJAWS
    JP_Stripes ࡳຈ
    ήετϒϩΨʔ
    ࣗݾ঺հ
    ASA

    View Slide

  3. ٱʑʹϥδΦମૢͯ͠ɺݞ௧͕ʜ͆
    ͓ٱ͠ͿΓͰ͢

    View Slide

  4. ࠓ೔ͷ͓࿩
    ΫΥʔλ͸͔ͬ͠Γ
    ֬ೝ͠Α͏ ࣄલʹ

    View Slide

  5. View Slide

  6. ϥΠϒίϚʔε
    ಈըݟͳ͕Β͓ങ͍෺
    ཁ݅ᶃಈը͕ࢭ·Βͳ͍
    ཁ݅ᶄϦϩʔυແ͠ͷߋ৽
    ཁ݅ᶅ71$ͷ಺ଆ͸Θ͔ΒΜ
    ˞ڈ೥͸೔ؒͣͬͱਓݟͯͨ

    View Slide

  7. ൪૊ςϩοϓΈ͍ͨʹɺಈըͷ֎ଆ΋
    ൪૊಺༰ʹ߹Θͤͯ৘ใΛ੾Γସ͍͑ͨ

    View Slide

  8. શूத
    AppSync

    View Slide

  9. GrpahQL

    View Slide

  10. GrpahQL
    ① Query


    • Get とか List


    ② Mutation


    C UD


    ③ Subscription


    OnCreate とか
    R

    View Slide

  11. GrpahQL
    ③ Subscription


    OnCreate とか
    8FC4PDLFUͰɺσʔλΛड͚औΔ
    ηογϣϯுΕͯΔਓɺશһಉ࣌ʹ

    View Slide

  12. AppSync で⾏けそう!
    ൪૊ςϩοϓΈ͍ͨʹɺಈըͷ֎ଆ΋
    ൪૊಺༰ʹ߹Θͤͯ৘ใΛ੾Γସ͍͑ͨ

    View Slide

  13. AWS Amplify
    AWS AppSync
    DynamoDB
    AWS Cloud and SaaS
    GOODS
    Client
    ΤΞΩϟϥόϯ
    OIDC


    ೝূ
    GraphQL
    Query
    Mutation
    Subscription
    GraphQL
    SF
    IAM ೝূ
    コレクション
    プロダクション
    在庫数マイナス
    InventryState
    在庫数
    条件付き書き込み
    在庫数をもどす

    View Slide

  14. AWS Amplify
    AWS AppSync
    DynamoDB
    AWS Cloud and SaaS
    GOODS
    Client
    ΤΞΩϟϥόϯ
    OIDC


    ೝূ
    GraphQL
    Query
    Mutation
    Subscription
    GraphQL
    SF
    IAM ೝূ
    在庫数マイナス
    InventryState
    条件付き書き込み
    在庫数をもどす
    දࣔ / ඇදࣔ
    ᶃMutation





    ᶄSubscription





    ᶅQuery
    コレクション
    プロダクション
    在庫数

    View Slide

  15. AppSync ͷ Subscription ͖͔͚ͬʹ
    શϢʔβʹ Query ΛϦϑΣον͢Δͷ͸
    Ξϯνύλʔϯ

    View Slide

  16. AppSync ͷ Subscription ͖͔͚ͬʹ
    શϢʔβʹ Query ΛϦϑΣον͢Δͱ
    ҎԼͷΫΥʔλʹҾ͔͔ͬΓ·͢
    ݟͯΔਓɺશһ͕Ұ੪ʹQueryͪ͠Ό͏ͱ 1000ਓ͍ͨΒΞ΢τ
    (Subscription ͸ηογϣϯషΔͱ͖ʹফඅͳͷͰԿਓͰ΋͍͚ͪΌ͏)

    View Slide

  17. AWS Amplify
    AWS AppSync
    DynamoDB
    AWS Cloud and SaaS
    GOODS
    Client
    ΤΞΩϟϥόϯ
    OIDC


    ೝূ
    GraphQL
    Query
    Mutation
    Subscription
    GraphQL
    SF
    IAM ೝূ
    コレクション
    プロダクト
    在庫数マイナス
    InventryState
    在庫
    条件付き書き込み
    在庫数をもどす
    දࣔ / ඇදࣔ
    ᶃMutation





    ᶄSubscription





    ᶅQuery
    ᶃ 1ճ





    ᶄ ϊʔΧϯ





    ᶅ Ϣʔβ਺ (1 + N)
    1000 ΫΤϦ/s
    Ծʹ AppSync ͷ্ݶ؇࿨͕௨ͬͨͱͯ͠΋


    DynamoͷϗοτύʔςΟγϣϯ 3000/s


    ͕͋ΔͷͰɺ্͕ͦ͜ݶ
    3000 RCU / 1000WCU

    View Slide

  18. ؾ͕͍ͭͨͷ͕
    ϦϦʔε1िؒલ

    View Slide

  19. ճආࡦ

    View Slide

  20. ճආࡦ
    ᶃ AppSync Λ্ݶ؇࿨͢Δ
    • ͲΜͳʹ AppSync Λ্͛ͯ΋ɺDynamoDB ͷϗοτύʔςΟγϣϯʹ
    (3000 RCU) ʹҾ͔͔ͬΔͷͰɺࠜຊղܾͳΒͣ
    ᶄ Query ΛAPI GW + (Chache) + Lambda + DynamoDB ʹ͢Δ
    • LambdaͱϗοτύʔςΟγϣϯΛΩϟογϡͰ๷͙
    ᶅ subscription Ͱৼͬͯ͘Δσʔλ͚ͩͰදࣔมߋ͢Δ
    • ͜Ε͕͋Δ΂͖࢟ɻϝοηʔδαΠζͳͲ੍ݶ͸ҰԠ͋Δɻ

    View Slide

  21. ճආࡦ
    ᶃ AppSync Λ্ݶ؇࿨͢Δ
    • ͲΜͳʹ AppSync Λ্͛ͯ΋ɺDynamoDB ͷϗοτύʔςΟγϣϯʹ
    (3000 RCU) ʹҾ͔͔ͬΔͷͰɺࠜຊղܾͳΒͣ
    ᶄ Query ΛAPI GW + (Chache) + Lambda + DynamoDB ʹ͢Δ
    • LambdaͱϗοτύʔςΟγϣϯΛΩϟογϡͰ๷͙
    ᶅ subscription Ͱৼͬͯ͘Δσʔλ͚ͩͰදࣔมߋ͢Δ
    • ͜Ε͕͋Δ΂͖࢟ɻϝοηʔδαΠζͳͲ੍ݶ͸ҰԠ͋Δɻ

    View Slide

  22. ᶃ AppSync Λ্ݶ؇࿨͢Δ
    ᶄ Query ΛAPI GW + (Chache) + Lambda + DynamoDB ʹ͢Δ
    ᶅ subscription Ͱৼͬͯ͘Δσʔλ͚ͩͰදࣔมߋ͢Δ
    ͋ΘٕͤͰ߈Ίͯ·͢(·ͩͰ͖ͯͳ͍)

    View Slide

  23. AppSync ͷ Subscription ͖͔͚ͬʹ
    શϢʔβʹ Query ΛϦϑΣον͢Δͷ͸
    Ξϯνύλʔϯ

    View Slide

  24. ແࣄʹ؇࿨ਃ੥͸௨Δͷ͔
    ޤ͏͝ظ଴ʂ

    View Slide