新浪微博搭建分布式Redis架构,释放新动能(新浪微博的redis实践)
新浪微博搭建分布式Redis架构,释放新动能
随着移动互联网的兴起,新浪微博用户数量出现骤增趋势,但是面临的问题也越来越多。微博的“推荐”功能已经不能满足新浪用户的需求,并且服务中断给新浪用户造成极大不便,也极大影响新浪微博的口碑。2012年,新浪改变了以往做法,搭建分布式Redis架构,经过数据迁移和实践,极大提升了新浪微博的访问性能。
新浪微博架构原先使用的是传统的单实例结构,在极短的时间内接受大幅度的请求是不可能的,在经历了数据迁移和实践后,新浪微博架构改为一个完全分布式的Redis架构。主要改变了三个点:新浪微博采用Redis的分布式存储,各个server可以单独存储和修改自己的内容,获取数据的也不用单个server,而是采用分布式方式,完成分布式绑定。新浪微博采用了Redis Master/Slave模式,Master处理主要的读写请求,Slave做Cache服务,缓解Master的压力,达到负载均衡的宗旨。利用Redis的Pub/Sub机制,新浪微博业务的异常信息可以迅速被广播出去,实现多台server之间的信息共享。
新浪微博搭建了分布式redis架构,使得新浪微博User端体验得到极大改善。一方面,采用Master/Slave模式和共享存储系统,减少了服务器的affinity,改善用户体验,另一方面,Pub/Sub机制可以实现多台server之间的信息共享,推送内容更加精准智能,用户体验得到保障。此外,由于使用Redis,新浪微博运维简单便捷,实时监控性能也极佳,并及时检测Redis的可用性,确保服务的稳定性。
新浪微博搭建分布式Redis架构,使用户体验和市场口碑都极大提升,释放新的动能,给用户带来更多的乐趣,也推动了新浪微博的发展。相信未来,新浪微博搭建的redis架构一定能持续发挥作用,为新浪用户提供更优质的体验,也更好地服务社会。
“`javascript
const Redis = require(“redis”);
// 创建Master Node,接受主要的读写请求
const masterNode = Redis.createClient();
//创建Slave Node,做Cache服务
const slaveNode = Redis.createClient();
//分布式存储
masterNode.hset(“user”, “name”, “weibo”)
//Pub/Sub模式
masterNode.on(“message”, function(channel, message) {
console.log(“receive a message: “+ message);
});
相关文章