Your SlideShare is downloading. ×
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,304

Published on

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

No Downloads
Views
Total Views
3,304
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

    ×