Your SlideShare is downloading. ×
腾讯大讲堂58 拍拍app 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

腾讯大讲堂58 拍拍app platform中间件解决方案简介

2,902

Published on

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

No Downloads
Views
Total Views
2,902
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
869
Comments
0
Likes
4
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
  • 将底层重复代码封装成一个容器服务器 (Container) ,并提供统一的接口和日志格式,物理上把应用层代码封装成动态链接库,有效地隔离了底层代码改动带来的影响。 Netio 提供了独立的网络接入方案,部署在 AppContainer 的前端和后端,异步处理 TCP 或 UDP 数据,并将其传入 AppContainer 的前置 / 后置消息队列中,待 AppContainer 逐一处理。降低了 AppContainer 的复杂度和繁忙度。
  • Transcript

    • 1. 腾 讯 大 讲 堂 第五十八期 研发管理部 大讲堂主页: http://km.oa.com/class 与讲师互动: http://km.oa.com/group/class
    • 2.
      • 拍拍 AppPlatform
      • 中间件解决方案简介
      电子商务部 鲁锋 (henrylu) 200 9 -0 2 -1 4
    • 3. 大纲
      • 系统原理
      • 灵活部署
      • 快捷开发
    • 4. PaiPai 后台服务的整体架构
    • 5. App Server 内部协议流转四种模式
    • 6. App Server 开发模式
    • 7. 映射到 AppPlatform 中间件架构
    • 8. App Platform ( App Container AutoGen)
    • 9. AutoGen 框架代码生成工具 ( C++ h 数据源)
    • 10. AutoGen 框架代码生成工具 ( Java IDL 数据源)
    • 11. AppPlatform 中间件部署架构——传统两层架构
    • 12. AppPlatform 部署架构——传统三层架构
    • 13. AppPlatform 部署架构——大 APP 架构 推荐
    • 14. 传统 Statful 状态机的实现 Int OnExecute() { switch(m_cStat) { case S_START: OnWebRequest(WebRequest[out]); // Do Something… DoDB1Request(DB1Request[in]); m_cStat = S_CHECK_1; return 1 ; case S_CHECK_1: OnDB1Response(DB1Response[out]); // Do Something… DoDB2Request(DB2Request[in]); m_cStat = S_CHECK_2; return 1 ; case S_CHECK_2: OnDB2Response(DB2Response[out]); // Do something… DoWebResponse(WebResponse[in]); m_cStat = S_FINISH; return 0 ; } // … return 0; }
    • 15. 优化后的 Statful 状态机的实现 Int OnExecute() { OnWebRequest(WebRequest[out]); // Do Something… CallDB1(DB1Request[in], DB1Response[out]); // Do Something… with DB1Response CallDB2(DB2Request[in], DB2Response[out]); // Do Something… with DB2Response DoWebResponse(WebResponse[in]); // … return 0; } 奥妙就在此: CallDB1(DB1Request[in], DB1Response[out]) { DoDB1Request(DB1Request[in]); Schedule();// Linux System Call swapcontext(…) OnDB1Response(DB1Response[out]); }
    • 16.
      • 谢谢大家!
      • 问题?

    ×