SlideShare a Scribd company logo
AmebaPico
   AWS
AmebaPico 裏側の技術やAWSの利用について
•         (29)

• @kohei_april20
•
    SocialApps

•
      pico         facebook
• AmebaPico
•
•
  • AWS
  • MongoDB
AmebaPico
AmebaPico
• 2010   3

•

• facebook   mochimedia
                   (pico.ameba.net)
AmebaPico 裏側の技術やAWSの利用について
•          390

•   MAU60

•   10   /20

•          3:7
                 facebook

•
                            2011   5
AmebaPico 裏側の技術やAWSの利用について
HTTP
        swf web                                       Lock
                                                    (ZooKeeper)
                                web


                                                                       ID

                                                    (memcached)
Flash

                               Socket

                                                        DB
                                                     (MongoDB)




                             CDN
        amazon           (CloudFront)      (S3)
                                                  (ElasticMapReduce)
                                LB      Haproxy
AWS
•                 AWS

    •   S3

        •
        •
    •   CloudFront CDN

        •
    •   ElasticMapreduce

        •    S3

    •   EC2

        •
    •   EBS

        •
EC2


→                    →web




→socket   ,MongoDB   →MongoDB
Socket
•            I/O



•

•
ID
• UID(          ID)

• UID                     ID
           facebook connect



     facebook

   mochimedia
                      UID:××× ←→ facebookID:○ ○ ○ ○ ○ ○
                      UID:○○○ ←→ amebaID:××××
Point
ID

                   UID
       ID



             UID
                                TxID
                         TxID
DB
•
    KeyValue



• DB

•                    DB
      MongoDB
MongoDB
          ※

              EBS




                     ※
                    (on EBS)
Flash
       main.swf
                                      shop.swf
                       load
                                      room.swf
                                      profile.swf
main



                  …

                                           <<interface>>
                                           ShopDelegate
                                         onBuy(...)




                               MainShopDelegate    MockShopDelegate
                      flash    onBuy(...)          onBuy(...)
AmebaPico 裏側の技術やAWSの利用について
EC2
EC2
•
    •
        •
        •
            •
        •
EC2
•
    •
        •               60

        •   2   3   1

        •   4            4

    •
        •
        •
EC2
•
    •
        •
            •
                •
            •
                •
    •
        •
            •             IP

            •
EC2

•
    •
        •
•
    •
MongoDB
MongoDB
•
    Socket   read           write

     Chat    1200/s             /s

      Info   4000/s             /s



                        76
                      300
                      2.5
                      50GB
MongoDB
•
    •   com.mongodb.DBPortPool$SemaphoresOut: Out
        of semaphores to get db connection


        •   MongoDB            I/O


        •   2                        4→6
        •   I/O                                 EC2



        •
            •
MongoDB
•
    •
        •
            •
        •

        •
MongoDB
•
    •
        •
            •
            •
        •

        •
            •
• MongoDB
  •
  •
•
• AmebaPico
  • http://pico.ameba.net
  • http://apps.facebook.com/amebapico/
  • http://www.mochigames.com/games/pico/
•
  • morino_kouhei@cyberagent.co.jp
  • @kohei_april20

More Related Content

AmebaPico 裏側の技術やAWSの利用について

  • 1. AmebaPico AWS
  • 3. (29) • @kohei_april20 • SocialApps • pico facebook
  • 4. • AmebaPico • • • AWS • MongoDB
  • 6. AmebaPico • 2010 3 • • facebook mochimedia (pico.ameba.net)
  • 8. 390 • MAU60 • 10 /20 • 3:7 facebook • 2011 5
  • 10. HTTP swf web Lock (ZooKeeper) web ID (memcached) Flash Socket DB (MongoDB) CDN amazon (CloudFront) (S3) (ElasticMapReduce) LB Haproxy
  • 11. AWS • AWS • S3 • • • CloudFront CDN • • ElasticMapreduce • S3 • EC2 • • EBS •
  • 12. EC2 → →web →socket ,MongoDB →MongoDB
  • 13. Socket • I/O • •
  • 14. ID • UID( ID) • UID ID facebook connect facebook mochimedia UID:××× ←→ facebookID:○ ○ ○ ○ ○ ○ UID:○○○ ←→ amebaID:××××
  • 15. Point ID UID ID UID TxID TxID
  • 16. DB • KeyValue • DB • DB MongoDB
  • 17. MongoDB ※ EBS ※ (on EBS)
  • 18. Flash main.swf shop.swf load room.swf profile.swf main … <<interface>> ShopDelegate onBuy(...) MainShopDelegate MockShopDelegate flash onBuy(...) onBuy(...)
  • 20. EC2
  • 21. EC2 • • • • • •
  • 22. EC2 • • • 60 • 2 3 1 • 4 4 • • •
  • 23. EC2 • • • • • • • • • • IP •
  • 24. EC2 • • • • •
  • 26. MongoDB • Socket read write Chat 1200/s /s Info 4000/s /s 76 300 2.5 50GB
  • 27. MongoDB • • com.mongodb.DBPortPool$SemaphoresOut: Out of semaphores to get db connection • MongoDB I/O • 2 4→6 • I/O EC2 • •
  • 28. MongoDB • • • • • •
  • 29. MongoDB • • • • • • • •
  • 30. • MongoDB • • •
  • 31. • AmebaPico • http://pico.ameba.net • http://apps.facebook.com/amebapico/ • http://www.mochigames.com/games/pico/ • • morino_kouhei@cyberagent.co.jp • @kohei_april20

Editor's Notes