关闭

[置顶] nginx 反向代理-负载均衡

nginx 反向代理-负载均衡前一篇文章讲了反向代理的中转作用 实现了把一个复杂的网络地址用简单的地址替换。 实现了fastcgi, php的前端代理功能。 其实,反向代理作用远不止这些,下面我们仍以nginx为例: 按照之前的配置: location /music/{ proxy_pass http://music.baidu.com/; } 结果: 浏览...
阅读(626) 评论(0)

[置顶] nginx proxy_pass 反向代理的用法

反向代理简单来说就是代理服务器。 nginx 对反向代理的支持应该是所有http服务器中最容易的。 其配置方法如下:...
阅读(4582) 评论(0)

[置顶] nginx 如何使用rewrite

上一篇我们已经会安装nginx了,但是还不支持重定向。 要支持重定向得在nginx编译时安装pcre库。pcre全称是Perl Compatible Regular Expressions,是来处理正则表达式的。 我们去官网下载: http://www.pcre.org/我在linux直接下载并解压: cd /home/xiaofei/src wget ftp://ftp.csx.c...
阅读(857) 评论(0)

[置顶] nginx在linux上从安装到使用

nginx在linux上从安装到使用如果你没听过nginx,那一定不是http后台开发人员。 相对于年代久远的apache,nginx显得小巧而强大。nginx使用的是单线程多进程模式,事件模型采用多路复用,对于反向代理类似的处理更用一筹。从官网上下载 http://nginx.org/download/nginx-1.11.3.tar.gz 解压: tar -xzvf nginx-1.1...
阅读(324) 评论(0)

[置顶] jemalloc在linux上从安装到使用

首先,jemalloc是干什么的? 我们看看作者自己的介绍: >jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support 意思是说jemalloc干了malloc干的活,而且干得好一些,主要体现在避免内存碎片与并...
阅读(7935) 评论(0)

[置顶] redis在linux上从安装到使用

redis 是目前比较流行的key-value数据存储系统,数据会存在内存中,与memcached不同的是会周期性的将数据落地到磁盘中。 redis的安装过程: 从redis官网下载3.2.3:http://download.redis.io/releases/redis-3.2.3.tar.gz 解压出来的目录如下:...
阅读(776) 评论(0)

[置顶] 水果忍者激战版的开发心得

去年8月份一开始接到任务,是要做一个手机间实时通信的桥梁,大家都知道国外的视频通话早已成熟,国内这坑爹的网速实在是坑爹(这高昂的费用既使能用也不敢用),在网速坑爹的时候想搞实时通信,在国内还是首义。 到了10月分的时候第一个DEMO已经成型: http://v.youku.com/v_show/id_XNjQzNTUwMTU2.html 最终产品:水果忍者激战版 http://dl.uu.cc/p2p/(在android 手机浏览器上输入后点击下载就OK)...
阅读(1858) 评论(0)

[置顶] 统计学里的哲学

如果你有两个桶A和B,A装的是红色的颜料,B的是蓝色的颜料。你从蓝色B里舀一杯,倒入红色A中,再从红色A里舀一杯倒入蓝色B中。最后A,B两个桶中红蓝颜料的比例哪个更高...
阅读(1616) 评论(1)

[置顶] 关于13年手游的总结和14年的分析

现在的网络科技发展很快,3G没兴几年,又到4G了,WIFI更是遍布大江南北,手机游戏已经不限于单机版了,还记得当年IPHONE刚兴起的时候,人人都玩tom猫,愤怒的小鸟这些单机游戏,时过境迁,还有谁还会为这些游戏而兴奋。...
阅读(2089) 评论(1)

[置顶] 手机实时传输的问题集锦

PC上建立实时传输通道相对容易,比如IM几本看不到延时,跨机PC间延时可以小到几十毫秒,用户感受不到。 wifi,3G下建立实时传输相对较难,A给B发一段语音或者文字需要一定的延时才能收到,当网络情况较好比如wifi下,用IM工具也可以建立实时传输的通道。 为了好看清问题,我将实时传输分成了两类: 1.不间断的传输 2.可间断的传输 对于第1类,实现起来相对容易,3G情况下网络给力的时候...
阅读(1619) 评论(0)

[置顶] P2P之我见,关于打洞的学问-------服务器架构

当用户A点击匹配的时候,服务端收到用户匹配请求,首先查询有无其他用户在进行匹配,如果没有就将A放进匹配池,如果有假设是B,就在AB间建立连接,同时返回AB。 AB得到对方的信息后,依据服务器返回的连接类型进行连接操作。如果是打洞则进告诉打洞逻辑,否则进行中转逻辑。...
阅读(2875) 评论(1)

[置顶] P2P之我见,关于打洞的学问-------打洞

既然P2P可以直接在客户端间建立连接,为啥像电驴,QQ这样的P2P软件还要登录呢。 打个比方,假设有两个用户,A,B,相关信息如下:...
阅读(4017) 评论(2)

[置顶] P2P之我见,关于打洞的学问-------开篇

P2P全称是 peer to peer,国内有被翻译成点对点协议,顾名思议,即客户端与客户端直连。 但是,问题是只有极少数情况下,客户端之间才能直连。 为什么呢,现在大家的PC大部分是“躲”在路由后面,路由设备保护大家,免受黑客的攻击。 试想一下,如果别人可以任意直连你的电脑,经常上传重口味艳照的你岂不是整天生活在恐惧之中。...
阅读(3119) 评论(3)

[置顶] 浅谈服务器的两种架构

今天和人电话聊了很长的技术问题,人家是成都卧龙工作室的,技术应该是很行的,但是在几个问题上我们的见解不一。 一个单线程能不能形成几万的并发。 这个问题首先就是个错误的提法,换个说法:nginx是不是就可以达到几万的并发。 两个问题犯的是相同的错误。 所有的并发都是针对业务处理的,业务简单点,像对于一些静态网页的处理,或者是无IO的事务,单线程和nginx都是可以达到几万的并发的。 可是这...
阅读(3265) 评论(6)

[置顶] 搭建一个流媒体服务器--引子

在家休息一段时间了,中间有小公司老板邀请,也有企鹅的几个事业部的邀请,说实话要是放在以前应该都挺有兴趣,不过现在看的淡了。 和企鹅几个HR聊过,人家总是自我感觉良好,以为薪水高一点就可以搞定原则了,其实在南山住的人有哪个不知道那个半夜12点还开着灯的公司,那个号称不夜城的公司。签企鹅说不定就是在出卖健康,出卖生命,只是过程看起来比较华丽。 现在互联网公司都有一个迹象,加班都朝着无底线的方向走。...
阅读(3631) 评论(4)

[置顶] hashmap 设计

先来看看泛型的数据队列。 自然界中的数据关系多分为两种,拿人类来看,一类是靠人与人之间的关系来互相关联,我称为关系型,另一种是靠屁股相互关联,我称为位置型。 对于关系型,一个富豪家族,女屌丝想成为其中成员很简单,与其中一个老头建立夫妻关系就加入了这个家族,被虐待了后想脱离它也很简单,解除夫妻关系就完事了。 再看看位置型,比如厕所里有20个坑,上面都贴上数字,有人报告第17个坑堵了,找起来会很...
阅读(3714) 评论(9)

[置顶] rbtree 设计

什么是树? 大街上到处都是,大伙别说没看过,除非你在沙漠中。 树大致可以分为根,茎,枝,叶。 大树枝会套小树枝,树枝上都有叶子。 西方人有个圣诞节,圣诞来了,圣庭老人在树上的每个枝丫上都挂了礼物,礼物上都写上一个小朋友的名字,让小朋友去树上摘。 问题来了,现在有两颗树, A...
阅读(3039) 评论(3)

[置顶] 高并发服务器的设计--缓存的设计

为什么需要缓存呢? 很简单的道理,拿QQ做个比方,每天有几亿用户登录、查询个人信息,且这些信息基本不会变化,如果你是架构师,你会选择全部从数据库中查询么,估计会被笑的。 一些业务要求大量且高速查询的,数据库必然会成为瓶颈,虽然可以通过横向扩容的方式优化,但这不是最优方案,其实服务器优化没有一个放之四海而皆准的最优方案,业务不同,最优方案也不同。 举个例子,腾讯有十几亿用户,就光登录就是个头疼...
阅读(8425) 评论(15)

[置顶] 程序员也有风骚的青春

看完致青春,颇有感慨。 人家的青春可以拍成电影,咱的青春只能留做回忆了。 开发之路开始是很苦很累的,想当年刚刚创业的时候全靠家里支出,刚来深圳一个月才挣三千块。 刚毕业我去的是二线公司,有些同学毕业去了华为腾讯,压力比我还大,我挣得少点,可是从来不用加班,我也明白了挣得多是要付出代价的。 方向是在毕业前就要选择好的,因为它将一直伴随我们的青春,是程序员青春的伴侣。 之前带的一个同事,搞过...
阅读(3571) 评论(10)

[置顶] 高并发服务器的设计--架构与瓶颈的设计

做架构设计,难免有时候被人问及系统的瓶颈在哪,那首先来了解下什么是瓶颈? 打个形象的比方,人的嘴巴可以吞下一整个面包,但是却咽不下去,因为食管不给力,它比较细,所以嘴巴能吞下的食物大小要受到食管的粗细限制。 城市内部每天会产生几十万件跨城快递,可是跨城的交通不给力,只允许走小型卡车,一卡车一次就能装几千件,一天下来也不一定能投送的完。 人在一定时间内能咽下多少食物,货运公司在一天运送多少货物...
阅读(9325) 评论(8)

[置顶] 高并发服务器的设计--内存池的设计

不同的业务,设计也不尽相同,但至少都一些共同的追求,比如性能。 做服务器开发很多年了,有时候被人问到,服务器性能是什么呢?各种服务器间拼得是什么呢? 简单的回答就是QPS,并发数,但有时候想想也许也不对。 QPS与并发数是针对同样的业务而言的,业务不同,相同的服务器能承受的压力也会不同。 性能,也许可以打个俗点的比方: 服务器就是一艘船,性能就是船的容量,开的速度,行得是否稳当。 该用...
阅读(21071) 评论(15)

[置顶] 高并发服务器的设计--连接池的设计

高并发服务器需要有一些池的设计,如内存池,连接池,数据库连接池。 池(pool)的设计主要考虑到一些资源的频繁申请和释放,尤其是在高并发的服务器中,几万甚至几十万并发每秒,设计人员不得不去考虑这些。 比如数据库连接池(sql pool),是通过TCP来通信的,属于IO类,有一定的延时,在高并发系统中频繁的创建会严重影响系统性能。 内存( mem )的分配是要涉及锁( mutex )的,有锁就...
阅读(6545) 评论(12)

[置顶] 高并发服务器的设计--fastcgi的设计

服务器开发中不何或缺的要使用fastcgi,其使用方法如下: while( FCGI_Accept() >= 0 ){ printf( "Content-type: text/plain \r\n" "Content-Length: %d\r\n" "Connection: close\r\n\r...
阅读(4419) 评论(0)

[置顶] 大并发服务器内存转换的灵活运用,memcpy的思考

在很多的网络开发中,经常会碰到一些内存转换,如下面的场景: #define PACKAGE_PARSE_ERROR -1 #define PACKAGE_PARSE_OK 0 int parse_package( int* a, int* b, int* c, int* d, char* buf, int buf_len ) { if( !buf || buf_len <...
阅读(3884) 评论(7)

[置顶] 大并发服务器之阵痛1---传输响应模式

如果你在淘宝上买过衣服,你会发现,模特的图片一张张的加载起来实在是有点慢。有时候体验简直很糟糕。 我们来分析下传输生命线: 这是ald.taobao.com 域名下的三次请求,我们发现是按顺序的请求响应,不禁要问,为什么三个请求不同时进行呢,能不能重叠呢。 现在市面上各类服务器如nginx, apache对HTTP的传输响应目前都只有一种,即:请求----响应----请求----...
阅读(2989) 评论(2)

[置顶] 搭建一个后台服务器--服务端代码(异步,大并发)

#include #include #include #include #include #include #ifndef WIN32 #include #include #include #include #include #include #else #include #define close( f ) closesocket( f ) #endif struc...
阅读(4897) 评论(11)

[置顶] 搭建一个后台服务器--服务端(异步,大并发)

上篇的阻塞模式下服务器的并发只有几K,而真正的server 像nginx, apache, yumeiz 轻轻松松处理几万个并发完全不在话下,因此大并发的场合下是不能用阻塞的。 1W的并发是一个分隔点,如果单进程模型下能达到 的话,说明至少在服务器这块你已经很厉害了。 服务器开发就像一门气功,能不能搞出大并发,容错性处理得怎么样,就是你有没有内功,内功有多深。 异步模式是专门为大并发...
阅读(5826) 评论(9)

[置顶] 搭建一个后台服务器--服务端(阻塞)

为什么 要在标题后面加个“阻塞”呢,因为系统为了增大并发,减小等待(阻塞),建立了另一种事件模式,后文将介绍,这里只介绍阻塞的模型。 阻塞服务器要干的事大致可以分为以下几步: 1.创建服务端监听连接 2.产生用户连接 3.接收用户请求 4.发送返回给用户 敲码过程如下: 设置监听地址与端口: addr_server.sin_family = AF_INET; add...
阅读(3425) 评论(2)

[置顶] 搭建一个后台服务器--客户端

上篇规定的协议请求部分: request: username/password, 约定username与password  各占32个字节(联同末位0) 可以将客户端的逻辑设计成: 1.将username,password  封装进buffer 2.连接服务端 3.发送buffer 4.接收二进制的系统当前时间  5.显示时间  代码如下: 服务...
阅读(4243) 评论(1)

[置顶] 搭建一个后台服务器--引子

最近去了几家公司面试,有一些大公司(比如企鹅)的考核内容真心弱智,考的都是些算法,尼玛,拿一个刚毕业的学生来做说不定也可以过的,看来本来就不是在招搞服务器的,举个例子,企鹅多个部门都曾出的一道题:如何知道集合A,B中的相关性。 意思就是哪些元素在A,B之中都有,哪些元素在A,B中不都出现。 其实解法很简单,学过算法的完全可以做到 。我们知道集合具有互异性,就是集合中的元素只能出现一次,可以建一...
阅读(3434) 评论(4)

[置顶] 服务器技术的发展方向

技术永远是服务于产品的,产品则是服务于大环境的,在目前的大环境下,大部分服务器找载着以下几类服务: 小站,以asp/jsp/php最具代表型. 门户网站,如  qq新闻/163 视频网站,如youku/kankan 电商网站, 如淘宝 娱乐软件后台,如微信,微博 我们看看区别 小站永远离不开虚拟机,国内那些坑爹的空间提供商哪会给你整台服务器。后面几种才运行于独立的服务器。...
阅读(2922) 评论(5)

[置顶] 大并发服务器不得不说的技术--http 缓存

前面所说技术订都是服务器端一个人在努力,有时候也需要客户端配合。 一个链接请求过程大致可以分成几个阶段 如果客户端发送同样的请求,且结果都一样,我们是不是可以缓冲一下呢?是不是可以减少几步呢?  的确可以,一般来说以下几种方法: 1.我们先试着在服务端进行缓冲,我们试着将一个已经返回的长链接发送内容不作释放,下次请求时直接返回刚才发送的内容,这个不适用于频繁访问,适...
阅读(3241) 评论(0)

[置顶] 什么样的服务器才能叫做大并发

我觉得服务器在成为大并发前,首先要能承受住大并发的压力,无论能否正常返回,首先不能崩溃。 apache和nginx是两个出名的服务器,先来分析一下它们。 大量用户访问的时候,apache会创建大量的进程数,吃掉大量的内存,而nginx内存这块做得很好,不过这也是nginx的瓶颈所在。 所谓有内存就是给你花的,你不花怎么对得起服务器呢,何况现在的服务器一般都是高配。 快速响应与内存大小其实是...
阅读(4336) 评论(10)

[置顶] epoll 事件处理的细节分析2

准确的说epoll事件就是IO事件,包括文件、socket、pipe等,linux把他们统称为文件,统一的接口调用,驱动层不同实现。 这里分成四类: 监听套餐接字,链接套接字,文件,pipe,相应的触发条件 1.监听套接字: 有新链接连上临听套接字,并三次握手成功时 2.链接套接字 有IO读写,且传输层接收/发送完毕 3.普通文件 有IO读写 4.pipe 有IO读写,且有锁保...
阅读(2330) 评论(2)

[置顶] epoll 事件处理的技术内核分析

epoll高效机制其实就是内核回调,我们知道linux把socket也是当成file处理的,只是底层驱动不一样。 先来看看内核文件结构: struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*re...
阅读(2350) 评论(1)

[置顶] 对于nginx的思考2---事件处理

nginx的事件处理函数ngx_process_events_and_timers,linux上最终会调用 ngx_epoll_process_events。 之后epoll_wait 后得到相应的事件,再做相应的处理,即监听与处理是在同一个线程中处理的,这样会有几个问题: 1.如果有多个事件,必须等待上一个事件处理完毕才能处理下一个。 2.同一个connection,只能按”接收-发送-接...
阅读(1686) 评论(1)

[置顶] 付费并发服务器开发(vip.kankan.com)的心得体会

即将从迅雷离职了,虽然有点舍不得,但是既然做了决定,就会坚持。 一年多的时间,我很感谢迅雷给我的机会,让我刚来就能负责迅雷看看付费频道的后台开发,接着又把看看无线的整个后台交给我维护,敢于用人,因人而异的思想让我受益匪浅。 刚来的3个月其实是个挑战,因为这段时间里,付费频道(vip.kankan.com)从无到有,从架构到上线。 为什么选择C++? 诚然一些脚本如Python,写CGI也是...
阅读(4888) 评论(2)

实时游戏对战引擎MatchVS,我的对战旅程

MatchVS对战引擎终于面世了,其对战效果简直屌爆了,有视频为证! 2016年是中国电竞元年,所以让我们继续加油!...
阅读(1448) 评论(0)

今天是你的生日----微传

怀着火热的心情,巨大的压力,推出第一款应用,这是我们这些屌丝程序员逆袭高富帅的战役。我们没有过硬的后台,几乎没有大腿可抱,一路走来,我们是靠激情和鸡血前进的。 从今天开始,将不断推出微传系列研发文章,欢迎大家吐槽和建议。...
阅读(1060) 评论(0)

手机间快速传输---微传

爬了一天的山,下山后和小伙伴分手时交换一下照片; 朋友婚礼上,把拍的照片分享一下。 。。。 在这种时候是不是会想,能不能少耗点流量,最好别耗流量!能不能再快点,小菊花别他妈一直转啊转啊转!...
阅读(2448) 评论(7)
47条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:176264次
    • 积分:2399
    • 等级:
    • 排名:第17014名
    • 原创:47篇
    • 转载:0篇
    • 译文:0篇
    • 评论:164条
    博客专栏
    最新评论