
高性能服务器架构
文章平均质量分 92
笑天居士
天下风云出我辈,一入江湖岁月催。皇图覇业谈笑中,不胜人生一场醉。
展开
-
高性能服务器架构(High-Performance Server Architecture)
引言本文将与你分享我多年来在服务器开发方面的一些经验。对于这里所说的服务器,更精确的定义应该是每秒处理大量离散消息或者请求的服务程序,网络服务器更符合这种情况,但并非所有的网络程序都是严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题,为了叙述起来简单,下面将简称为“服务器”。本文不会涉及到多任务应用程序,在单个程序里同时处理多个任务现在已经很常见。比如你的浏览器可能就在做一转载 2014-06-09 10:55:05 · 1684 阅读 · 0 评论 -
ESP Elasticsearch代理 (PHP Swoole)
Elasticsearch Proxy (ESP)简介由于Elasticsearch没有提供权限管理功能(官方shield又收费),特开发此Proxy,可以针对Elasticsearch Rest的路径设置权限,可以指定信任IP,支持用户,群组授权当前版本0.01试用版。框架基于PHP-Swoole扩展开发,用fast-route库来做http route处理。安装运行环境:linux2.6原创 2015-12-03 10:57:05 · 2001 阅读 · 0 评论 -
ASF 基于Swoole开发的PHP App Server框架
App Server Framework(ASF)简介当前版本0.01试用版。框架基于PHP-Swoole扩展开发,通过配置文件可以自定义各种应用协议,默认支持http协议。框架本身是一个完整的tcp_server,不再需要apache,nginx,fpm这些,框架已包含log处理,mysql访问封装。框架用fast-route库来做http route处理,直接映射到控制器上,使用者只要写原创 2015-12-03 10:51:04 · 2110 阅读 · 0 评论 -
nginx tcp代理模块nginx_tcp_proxy_module安装及使用
nginx tcp代理功能由nginx_tcp_proxy_module模块提供,同时监测后端主机状态。该模块包括的模块有: ngx_tcp_module, ngx_tcp_core_module, ngx_tcp_upstream_module, ngx_tcp_proxy_module, ngx_tcp_upstream_ip_hash_module。原创 2014-11-03 17:30:28 · 11998 阅读 · 0 评论 -
nginx+lua+redis构建高并发应用
ngx_lua将lua嵌入到nginx,让nginx执行lua脚本,高并发,非阻塞的处理各种请求。url请求nginx服务器,然后lua查询redis,返回json数据。原创 2014-07-01 14:51:28 · 10169 阅读 · 0 评论 -
在nginx中使用lua直接访问mysql和memcaced达到数据接口的统一
在nginx中使用lua直接访问mysql和memcaced达到数据接口的统一安装nginx参见《nginx+lua+redis构建高并发应用》让nginx 中的nginx_lua_module支持mysql 和memcache下载https://github.com/agentzh/lua-resty-memcachedhttps://github.com/agentzh/lua-resty-mysql对于访问接口的统一有很多的处理方式,这里介绍使用nginx lua 访问mysql并用m原创 2014-07-03 13:15:09 · 2850 阅读 · 0 评论 -
memc_nginx+srcache_nginx+memcached构建透明的动态页面缓存
在上一节《nginx+memcached构建页面缓存应用》http://www.ttlsa.com/html/2418.html中,说道nginx只负责从memcached服务器中读取数据,要往memcached写入数据还得需要后台的应用程序来完成。使用memc-nginx和srcache-nginx模块就可以主动的向memcached添加缓存,对应用程序来说是透明的。大大的提高动态页面访问速度。转载 2014-07-03 10:55:01 · 2287 阅读 · 0 评论 -
由Lua 粘合的Nginx生态环境
agentzh tech-club.org 演讲听录活动: Tech-Club技术沙龙(2012年2月)活动小结幻灯: ngx_openresty: an Nginx ecosystem glued by Lua录音: http://vdisk.weibo.com/s/2Qcon笔录: Zoom.Quiet 很早就一直关注 agentzh 对 nginx 的给力 hacki转载 2014-07-01 08:17:23 · 3246 阅读 · 0 评论 -
同步/异步与阻塞/非阻塞的区别
我喜欢用自己的语言通过联系现实生活中的一些现象解释一些概念,当我能做到这一点时,说明我已经理解了这个概念.今天要解释的概念是:同步/异步与阻塞/非阻塞的区别.这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方.首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的转载 2014-06-09 09:57:57 · 847 阅读 · 0 评论 -
用lua扩展你的Nginx(整理)
ngx_lua原理ngx_lua将Lua嵌入Nginx,可以让Nginx执行Lua脚本,并且高并发、非阻塞的处理各种请求。Lua内建协程,这样就可以很好的将异步回调转换成顺序调用的形式。ngx_lua在Lua中进行的IO操作都会委托给Nginx的事件模型,从而实现非阻塞调用。开发者可以采用串行的方式编写程序,ngx_lua会自动的在进行阻塞的IO操作时中断,保存上下文;然后将IO操作委托给Nginx事件处理机制,在IO操作完成后,ngx_lua会恢复上下文,程序继续执行,这些操作都是对用户程序透明的。原创 2014-06-30 16:48:09 · 9386 阅读 · 0 评论 -
LAMP架构演进到LAMPGC,再演进到LNMLGC(linux+nginx+mysql+lua+gearman+C)
在这里重点介绍nginx怎样调用gearman中间件nginx在高并发异步调用的性能够强,这地球人都知道了lua的协程,也可以实现并发的异步调用把这两个结合起来看看效果先看下apache+php调用gearman的情况,同步一调用一gearman任务,假如这个任务要3S钟,那么当前这个apache的httpd进程就会被阻塞,它无法为其它客户端服务了再来看看nginx+lua调用gearman的实现:nginx同样是一个worker,worker进程里通过lua协程调用gearman任务,即原创 2014-06-30 10:23:20 · 4180 阅读 · 0 评论 -
使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
Nginx的Memc和SR Cache模块缓存策略的改进为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统。众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的成熟,越来越多的系统开始转型为LNMP(Linux+Nginx+MySQL+PHP with fpm),这是因为Nginx采用基于事件机制的I/O多路复用思转载 2014-06-30 17:14:45 · 1843 阅读 · 0 评论 -
用ElasticSearch,LogStash,Kibana搭建实时日志收集系统
介绍这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中。kibana负责查询elasticsearch并在web中展示。logstash收集进程收获日志文件内容后,先输出到redis中缓存,另一logstash处理进程从redis中读出并转存到elasticsearch中,以解决读快写慢速度不一致问题。原创 2015-06-30 12:20:21 · 5024 阅读 · 1 评论