未加星标

剖析twemproxy前言

字体大小 | |
[数据库(综合) 所属分类 数据库(综合) | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

又是喜闻乐见的新坑,前面的mysql协议,当我在解读go-mysql包的时候,会重新讲到,至于Leetcode的更新会与go语言同步。关于这个redis的新坑,目前打算通过剖析twemproxy源码来间接介绍redis的协议,实现手段等等。下面先介绍一下我们的主角――twemproxy。

twemproxy是由twitter(推特)公司在2012年在github上开源轻量级的高速缓存服务器集群代理,这里的高速缓存服务器就是指redis以及memcache。我们主要讨论的是redis集群下的twemproxy,twemproxy提供了将redis包通过key进行切片,将对应的包发到多个服务器上,使得redis集群搭建成为可能。

这份代码在我看来写得简单而且优雅,是一份不可多得的学习linux c语言的典范代码,里面用到的epoll模型,linux系统api,内存池调度以及连接池调度都是值得我们学习的。为什么说这些方面他做得非常优秀呢?我们知道redis服务器是支持高并发的,直连twemproxy与直连redis服务器几乎没有性能损失,可见twemproxy的epoll模型使用的高妙之处。这也是其连接池调度的胜利。同时在内存池调度上他实现了0拷贝,即从网络收发的数据不会经过转储直接通过指针在twemproxy中流转。这些已经可以看到开发者的代码功底,同时在实现方面用c语言实现了面向对象的编程,他用结构体取代了类,用函数指针取代了类方法。

看了这么多是不是心动了呢?那就赶紧去下载吧! https://github.com/twitter/twemproxy/ 和博主一起阅读代码,一起成长!!

如果要安装twemproxy玩一玩的,请仔细阅读twemproxy的readme.md。

PS:需要安装autoconf2.69才能开始好好玩耍

欢迎大家发言讨论!博主会努力回复大家的!

本文数据库(综合)相关术语:系统安全软件

主题: 服务器开源数据
分页:12
转载请注明
本文标题:剖析twemproxy前言
本站链接:http://www.codesec.net/view/523043.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(综合) | 评论(0) | 阅读(14)