Sae

2,044 views

Published on

deep inside Sina App Engine cloud service

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,044
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Sae

  1. 1. Sina App Engine - deep inside cloud service http://t.sina.com.cn/saet SAE Team
  2. 2. 前言 什么是 Sina App Engine Sina App Engine 的发展现状 SAE 和微博是啥关系 关于 SAE 的外部好消息 关于 SAE 的内部好消息
  3. 3. 提纲 Cloud Service RDC MemcacheX TaskQueue
  4. 4. Cloud Service Image DB TaskQueue Cron RDC Stor DeferredJobs Appconfig Fetchurl MemcacheX SMail XHProf . 覆盖整个 Web 服务 . 精英团队作战 Php Tmpfs
  5. 5. Cloud Service
  6. 6. Cloud Service App Sandbox:
  7. 7. RDC 什么是 RDC: Relational Database Cluster RDC 的目标: 1 ,监控百万数量级的 DB ,包括心跳检查、主从同步检查、节点负载 2 ,管理百万数量级的 DB ,包括启动、停止、迁移、重启、切换 3 ,被动复制模式的 HA 4 ,支持 MySQL5 通讯协议,代理层完全透明,代理损耗低 5 ,无状态依赖,自身支持水平扩展 6 ,提供用户的 DB 的隔离性,保证整体集群的安全性
  8. 8. RDC RDC 与 MySQL 在实现上的一些不同 1 ,多进程 vs 多线程 2 , SQL 解析,词法分析 vs 语法分析 3 , Query Cache 特别说明: 1 , RDC 不负责用户数据库的水平扩展,所以水平扩展需要用户自己做分表 2 , RDC 自身提供一主多从的 DB 结构,上层支持读写分离 3 ,为了整个数据库平台的安全和可靠, RDC 会根据自身的预判算法预先屏蔽某些 SQL 语句 4 , RDC 强烈建议用户使用正确的 MySQL 调用习惯,对每个 MySQL 函数判断返回值
  9. 9. RDC
  10. 10. RDC 如何使用 RDC 主库 = 》 w.rdc.sae.sina.com.cn:3307 从库 = 》 r.rdc.sae.sina.com.cn:3307
  11. 11. RDC RDC 的预判机制: 1 ,语句 select update insert delete replace create table alter table create index 2 ,三道封锁线 3 , SQL 并发执行时间和
  12. 12. RDC Benchmark : 硬件环境: 4Core 3GHz , 4G 软件环境: CentOS 5.1 C++ boost 1.36 MySQL Server version: 5.0.87-log Source distribution 标准压测脚本, /usr/local/mysql5/sql-bench/run-all-tests RDC vs 标准 MySQL with QueryCache -5% without QueryCache -10% 增强功能: 1 ,水平扩展 2 ,监控与系统结合
  13. 13. MemcacheX 什么是 MemcacheX MemcacheX 的目的 1 , low overhead 2 , HA 3 , Statics 4 , Connection Protector 5, Data dump
  14. 14. MemcacheX
  15. 15. MemcacheX
  16. 16. MemcacheX Connection 保护 1 , Connection LRU 2 , Conection Timeout find-key => O(logN) insert-key => O(logN) delete-key => O(logN) get min-value => O(1)
  17. 17. TaskQueue 1 ,什么是 TaskQueue 2 ,和 DeferredJobs 的区别 3 ,如何使用 TaskQueue
  18. 18. TaskQueue
  19. 19. TaskQueue 1 ,硬哈希 2 ,多进程 3 ,非阻塞 timeout 4 , master-slave 被动复制 5 , worker 延迟等待时间 6 , worker 死亡唤醒检查
  20. 20. What we will do <ul><li>新的代码部署文件系统 </li></ul><ul><li>无缝迁移 </li></ul><ul><li>Key-Value 数据库 </li></ul>SAE is still coding
  21. 21. 关于 丛磊: 超级码农, http://t.sina.com.cn/kobe [email_address] 个人技术博客: http://saecloud.sinaapp.com

×