微博相关的架构学习整理

来源:互联网 发布:java中的set和get方法 编辑:程序博客网 时间:2024/06/06 09:48

微博推荐进阶 http://mobile.51cto.com/comment-492447.htm

整个推荐流程:候选-》排序-》策略-》展示-》反馈-》评估

(1)第一阶段

web服务:apache+mod_python->mod_wsgi

运算服务:c/c++ woo服务框架

db: redis/mapdb/keylistdb



(2) 

应用层:改用nginx+lua, ->common_recom_frame系统

该框架核心思想是提炼出project, work以及data三层interface, 

project针对每一个推荐项目

work针对每个推荐项目中的不同推荐方法

data则是管理下游数据的访问方法

计算层:lab_common_so

数据层:

in : rin/r9-interface

/out: lushan/redis

/store: twemproxy/go

(3) 

总结值得学习的地方:

a 技术跟业务是相辅相成的

b 技术架构建议最短路径,然后不断迭代优化

----------------------------

weibo本身架构的演变

http://blog.sina.com.cn/s/blog_9c33d38901014u78.html

http://www.infoq.com/cn/articles/weibo-platform-archieture/

http://blog.163.com/wm_at163/blog/static/13217349020126514622475/

(1)第一阶段:


MyISAM搜索引擎

MPSS

(2) 

A 投递模式优化

b 数据拆分

c 异步处理

(3) 

服务-》接口-》应用

---

如何打造高性能架构,

问题的本质:

解决高访问量,海量数据规模下:

a 易于扩展,低延时 b 高可用 c异地分布能力

思路:

a 去状态,可请求服务单元中任意节点

b 去中心化,避免单点及瓶颈

c 可线性扩展

d 减少模块耦合




0 0
原创粉丝点击