sina app engine

21
Sina App Engine Sina App Engine - deep inside cloud service - deep inside cloud service http://t.sina.com.cn/saet SAE Team

Upload: asasia

Post on 12-Jan-2016

82 views

Category:

Documents


3 download

DESCRIPTION

Sina App Engine. - deep inside cloud service. SAE Team. http://t.sina.com.cn/saet. 前言. 什么是 Sina App Engine Sina App Engine的发展现状 SAE和微博是啥关系 关于SAE的外部好消息 关于SAE的内部好消息. 提纲. Cloud Service. RDC. MemcacheX. TaskQueue. Cloud Service. Php. XHProf. Stor. Image. MemcacheX. . 覆盖整个Web服务 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sina App Engine

Sina App EngineSina App Engine- deep inside cloud service- deep inside cloud service

http://t.sina.com.cn/saet

SAE Team

Page 2: Sina App Engine

前言

什么是 Sina App Engine

Sina App Engine 的发展现状

SAE 和微博是啥关系

关于 SAE 的外部好消息

关于 SAE 的内部好消息

Page 3: Sina App Engine

提纲

Cloud ServiceRDCMemcacheX

TaskQueue

Page 4: Sina App Engine

Cloud Service

Image

DB

TaskQueue

Cron

RDC

Stor

DeferredJobs

Appconfig

Fetchurl

MemcacheX

SMail

XHProf

. 覆盖整个 Web 服务 . 精英团队作战

Php

Tmpfs

Page 5: Sina App Engine

Cloud Service

Page 6: Sina App Engine

Cloud Service

App Sandbox:

Page 7: Sina App Engine

RDC

什么是 RDC: Relational Database Cluster

RDC 的目标:

1 ,监控百万数量级的 DB ,包括心跳检查、主从同步检查、节点负载 2 ,管理百万数量级的 DB ,包括启动、停止、迁移、重启、切换

3 ,被动复制模式的 HA

4 ,支持 MySQL5 通讯协议,代理层完全透明,代理损耗低

5 ,无状态依赖,自身支持水平扩展

6 ,提供用户的 DB 的隔离性,保证整体集群的安全性

Page 8: Sina App Engine

RDC

RDC 与 MySQL 在实现上的一些不同

1 ,多进程 vs 多线程

2 , SQL 解析,词法分析 vs 语法分析

3 , Query Cache

特别说明:

1 , RDC 不负责用户数据库的水平扩展,所以水平扩展需要用户自己做分表

2 , RDC 自身提供一主多从的 DB 结构,上层支持读写分离

3 ,为了整个数据库平台的安全和可靠, RDC 会根据自身的预判算法预先屏蔽某些SQL 语句

4 , RDC 强烈建议用户使用正确的 MySQL 调用习惯,对每个 MySQL 函数判断返回值

Page 9: Sina App Engine

RDC

Page 10: Sina App Engine

RDC

如何使用 RDC

主库 = 》 w.rdc.sae.sina.com.cn:3307

从库 = 》 r.rdc.sae.sina.com.cn:3307

Page 11: Sina App Engine

RDC

RDC 的预判机制:

1 ,语句selectupdateinsertdeletereplacecreate tablealter tablecreate index

2 ,三道封锁线

3 , SQL 并发执行时间和

Page 12: Sina App Engine

RDC

Benchmark :

硬件环境:4Core 3GHz , 4G

软件环境:CentOS 5.1C++ boost 1.36MySQL 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 ,监控与系统结合

Page 13: Sina App Engine

MemcacheX

什么是 MemcacheX

MemcacheX 的目的

1 , low overhead

2 , HA

3 , Statics

4 , Connection Protector

5, Data dump

Page 14: Sina App Engine

MemcacheX

Page 15: Sina App Engine

MemcacheX

Page 16: Sina App Engine

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)

Page 17: Sina App Engine

TaskQueue

1 ,什么是 TaskQueue

2 ,和 DeferredJobs 的区别

3 ,如何使用 TaskQueue

Page 18: Sina App Engine

TaskQueue

Page 19: Sina App Engine

TaskQueue

1 ,硬哈希

2 ,多进程

3 ,非阻塞 timeout

4 , master-slave 被动复制

5 , worker 延迟等待时间

6 , worker 死亡唤醒检查

Page 20: Sina App Engine

What we will do

• 新的代码部署文件系统

• 无缝迁移

• Key-Value 数据库

SAE is still coding

Page 21: Sina App Engine

关于 丛磊:码控, http://t.sina.com.cn/kobe

[email protected]个人技术博客: http://saecloud.sinaapp.com