Your SlideShare is downloading. ×
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Inside Of Mbga Open Platform
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Inside Of Mbga Open Platform

3,321

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,321
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide





























































































































  • Transcript

    • 1. Inside mbga Open Platform - Gadget Server - Hideo Kimura DeNA
    • 2. About Me
    • 3. About Me •
    • 4. About Me • • DeNA
    • 5. About Me • • DeNA •
    • 6. About Me • • DeNA • • hidek, hide-k, hideki
    • 7. About Me • • DeNA • • hidek, hide-k, hideki • http://blog.hide-k.net/
    • 8. About Me • • DeNA • • hidek, hide-k, hideki • http://blog.hide-k.net/ • twitter: @hidek
    • 9. About Me • • DeNA • • hidek, hide-k, hideki • http://blog.hide-k.net/ • twitter: @hidek
    • 10. About Me • • DeNA • • hidek, hide-k, hideki • http://blog.hide-k.net/ • twitter: @hidek
    • 11. Agenda
    • 12. Agenda • MBGA Open Platform
    • 13. Agenda • MBGA Open Platform • Gadget Server
    • 14. Agenda • MBGA Open Platform • Gadget Server •
    • 15. Agenda • MBGA Open Platform • Gadget Server • •
    • 16. Agenda • MBGA Open Platform • Gadget Server • • •
    • 17. MBGA Open Platform
    • 18. MBGA Open Platform •
    • 19. MBGA Open Platform • • OpenSocial 0.9
    • 20. MBGA Open Platform • • OpenSocial 0.9 •
    • 21. MBGA Open Platform
    • 22. MBGA Open Platform • 2009/08/01
    • 23. MBGA Open Platform • 2009/08/01 • 2009/11/24
    • 24. MBGA Open Platform • 2009/08/01 • 2009/11/24 • 2010/01/27
    • 25. OpenSocial
    • 26. OpenSocial • Social Network (Container) API
    • 27. OpenSocial • Social Network (Container) API
    • 28. OpenSocial
    • 29. OpenSocial • HTML + JavaScript
    • 30. OpenSocial • HTML + JavaScript •
    • 31. OpenSocial • HTML + JavaScript • • …
    • 32. OpenSocial • HTML + JavaScript • • …
    • 33. OpenSocial • HTML + JavaScript • • … • RESTful protocol + Proxy request
    • 34. Architecture Gadget API Partner User Server Server Server
    • 35. Architecture Gadget API Partner User Server Server Server
    • 36. Architecture Gadget API Partner User Server Server Server
    • 37. Architecture Gadget API Partner User Server Server Server
    • 38. Architecture Gadget API Partner User Server Server Server
    • 39. Architecture Gadget API Partner User Server Server Server
    • 40. Architecture Gadget API Partner User Server Server Server
    • 41. Architecture Gadget API Partner User Server Server Server
    • 42. Architecture Gadget API Partner User Server Server Server
    • 43. Gadget Server
    • 44. Gadget Server • /
    • 45. Gadget Server • / •
    • 46. Gadget Server • / • • OAuth Signed Request
    • 47. Gadget Server • / • • OAuth Signed Request • Access Token
    • 48. Gadget Server • / • • OAuth Signed Request • Access Token •
    • 49. Hermit
    • 50. Hermit
    • 51. Hermit
    • 52. Hermit • Perl / PSGI / Plack
    • 53. Hermit • Perl / PSGI / Plack • Pluggable
    • 54. PSGI / Plack
    • 55. PSGI / Plack • Web Application
    • 56. PSGI / Plack • Web Application • Dispatcher Catalyst
    • 57. PSGI / Plack • Web Application • Dispatcher Catalyst •
    • 58. PSGI / Plack • Web Application • Dispatcher Catalyst • • Plack::Handler::*
    • 59. PSGI / Plack • Web Application • Dispatcher Catalyst • • Plack::Handler::* • Starman
    • 60. PSGI / Plack
    • 61. PSGI / Plack • lighttpd + Plack::(Server)::FCGI
    • 62. PSGI / Plack • lighttpd + Plack::(Server)::FCGI • 300 process / server
    • 63. PSGI / Plack • lighttpd + Plack::(Server)::FCGI • 300 process / server • 5,500,000 - 6,000,000 req / day / server
    • 64. PSGI / Plack • lighttpd + Plack::(Server)::FCGI • 300 process / server • 5,500,000 - 6,000,000 req / day / server • 360,000 - 380,000 req / hour / server
    • 65. PSGI / Plack • lighttpd + Plack::(Server)::FCGI • 300 process / server • 5,500,000 - 6,000,000 req / day / server • 360,000 - 380,000 req / hour / server • 5
    • 66. PSGI / Plack • lighttpd + Plack::(Server)::FCGI • 300 process / server • 5,500,000 - 6,000,000 req / day / server • 360,000 - 380,000 req / hour / server • 5 • 2
    • 67. Pluggable
    • 68. Pluggable • Plagger like
    • 69. Pluggable • Plagger like • Class::Trigger
    • 70. Pluggable • Plagger like • Class::Trigger •
    • 71. Pluggable • Plagger like • Class::Trigger • • easy to extend
    • 72. Pluggable • Plagger like • Class::Trigger • • easy to extend • easy to maintain
    • 73. Pluggable • Plagger like • Class::Trigger • • easy to extend • easy to maintain • easy to test
    • 74. Pluggable auth* / modify headers / publish token Plugin::Request error handling Context req/req management Plugin::Response modify contents / modify headers
    • 75. Other Modules
    • 76. Other Modules • Text::MicroTemplate
    • 77. Other Modules • Text::MicroTemplate • HTTP::MobileAgent
    • 78. Other Modules • Text::MicroTemplate • HTTP::MobileAgent • HTML::StickyQuery::DoCoMoGUID
    • 79. Other Modules • Text::MicroTemplate • HTTP::MobileAgent • HTML::StickyQuery::DoCoMoGUID • OAuth::Lite
    • 80. Other Modules • Text::MicroTemplate • HTTP::MobileAgent • HTML::StickyQuery::DoCoMoGUID • OAuth::Lite • HTML::Filter::Callbacks
    • 81. Other Modules • Text::MicroTemplate • HTTP::MobileAgent • HTML::StickyQuery::DoCoMoGUID • OAuth::Lite • HTML::Filter::Callbacks • DBIx::DBHResolver
    • 82. Other Modules • Text::MicroTemplate • HTTP::MobileAgent • HTML::StickyQuery::DoCoMoGUID • OAuth::Lite • HTML::Filter::Callbacks • DBIx::DBHResolver • Log::Dispatch
    • 83. Other Modules • Text::MicroTemplate • HTTP::MobileAgent • HTML::StickyQuery::DoCoMoGUID • OAuth::Lite • HTML::Filter::Callbacks • DBIx::DBHResolver • Log::Dispatch • Test::TCP
    • 84. Other Modules • Text::MicroTemplate • HTTP::MobileAgent • HTML::StickyQuery::DoCoMoGUID • OAuth::Lite • HTML::Filter::Callbacks • DBIx::DBHResolver • Log::Dispatch • Test::TCP • etc ...
    • 85. Other things
    • 86. Other things • Sandbox
    • 87. Other things • Sandbox • =
    • 88. Other things • Sandbox • = •
    • 89. Other things • Sandbox • = • • PC
    • 90. Other things • Sandbox • = • • PC •
    • 91. Other things
    • 92. Other things • CDN
    • 93. Other things • CDN • CDN
    • 94. Other things • CDN • CDN • DeNA
    • 95. Other things • CDN • CDN • DeNA • nocache=1 Query String OK
    • 96. Tough Days
    • 97. Tough Days •
    • 98. Tough Days • • 11 24 11
    • 99. Tough Days • • 11 24 11 •
    • 100. Tough Days • • 11 24 11 • • Plack++
    • 101. Tough Days
    • 102. Tough Days •
    • 103. Tough Days • • CPU
    • 104. Tough Days • • CPU •
    • 105. Tough Days • • CPU • • Devel::NYTProf++
    • 106. Tough Days • • CPU • • Devel::NYTProf++ • Unix::Getrusage++
    • 107. Tough Days • • CPU • • Devel::NYTProf++ • Unix::Getrusage++ • Hyper-Threading++ (?)
    • 108. Tough Days • • lighttpd • unexpected end-of-file (perhaps the fastcgi process died):... response not received, request sent:... • lighttpd 1.4.22 -> 1.4.26
    • 109. Current Issue
    • 110. Current Issue • FCGI
    • 111. Current Issue • FCGI •
    • 112. Current Issue • FCGI • • Reverse proxy
    • 113. Current Issue • FCGI • • Reverse proxy • Starman
    • 114. Current Issue • FCGI • • Reverse proxy • Starman •
    • 115. Current Issue
    • 116. Current Issue • Network
    • 117. Current Issue • Network • (5 )=
    • 118. Current Issue • Network • (5 )= • (3 )
    • 119. Current Issue • Network • (5 )= • (3 ) •
    • 120. Current Issue • Network • (5 )= • (3 ) • •
    • 121. Current Issue
    • 122. Current Issue • Network
    • 123. Current Issue • Network • TCP listen backlog overflow
    • 124. Current Issue • Network • TCP listen backlog overflow • net.ipv4.tcp_max_syn_backlog (def: 1024)
    • 125. Current Issue • Network • TCP listen backlog overflow • net.ipv4.tcp_max_syn_backlog (def: 1024) • net.core.somaxconn (def: 128)
    • 126. Current Issue • Network • TCP listen backlog overflow • net.ipv4.tcp_max_syn_backlog (def: 1024) • net.core.somaxconn (def: 128) • lighttpd
    • 127. Current Issue • Network • TCP listen backlog overflow • net.ipv4.tcp_max_syn_backlog (def: 1024) • net.core.somaxconn (def: 128) • lighttpd • if (-1 == listen(srv_socket->fd, 128 * 8)) {
    • 128. Current Issue • Network • TCP listen backlog overflow • net.ipv4.tcp_max_syn_backlog (def: 1024) • net.core.somaxconn (def: 128) • lighttpd • if (-1 == listen(srv_socket->fd, 128 * 8)) { • orz
    • 129. Future
    • 130. Future •
    • 131. Future • • ?
    • 132. Future • • ? • xAuth
    • 133. Future
    • 134. Future • OpenSocial 1.0
    • 135. Future • OpenSocial 1.0 • Template
    • 136. Future • OpenSocial 1.0 • Template • API
    • 137. Future • OpenSocial 1.0 • Template • API •
    • 138. Future • OpenSocial 1.0 • Template • API • • OpenSocial Templates ?
    • 139. Future Gadget API Partner User Server Server Server
    • 140. Future Gadget API Partner User Server Server Server
    • 141. Future Gadget API Partner User Server Server Server
    • 142. Future Gadget API Partner User Server Server Server
    • 143. Future Gadget API Partner User Server Server Server
    • 144. Future Gadget API Partner User Server Server Server
    • 145. Future Gadget API Partner User Server Server Server
    • 146. Conclusion
    • 147. Conclusion • Plack
    • 148. Conclusion • Plack •
    • 149. Conclusion • Plack • •
    • 150. Thank You

    ×