随笔分类 -  软件架构

上一页 1 2 3 4 下一页
Nginx - Windows下Nginx基本安装和配置
摘要:Nginx 是一个轻量级的高性能 Http WebServer,以事件驱动方式编写,因此相比 Apache 而言,Nginx 更加稳定、性能更好,而且配置简单,资源占用较低。 1. 安装 Nginx从 v0.7.52 开始,Nginx 开始发布 Windows 版本的 Nginx,你可以在其官方网站上面下载:http://nginx.net下载后直接解压即可,这里解压缩到c:\nginx目录。2. 启动Nginx命令行进入c:\nginx目录,运行nginx.exe,启动控制台窗口。默认启用80端口。用过Tomcat的人都希望能在控制台看到启动日志,nginx的日志却不得不查看logs目录下的 阅读全文
posted @ 2014-01-05 04:54 davidkam 阅读(287) 评论(0) 推荐(0)
实测 windows下nginx很不稳定,换成squid好多了
摘要:在windows server 2003 下尝试了号称支持50,000个并发连接数响应的nginx,结果相当不理想.具体表现为时不时网页就卡住不动了,需要再刷新一次网页才能显示,而服务器cpu和内存一直都上不去.查看活动连接数连100都不到(20个活动连接和90个活动连接表现是一样的,没区别),writing 20多,waiting也是20多.尝试了稳定版的nginx-0.7.65和开发版的nginx-0.8.39.结果都一样.难道是我不会配置?还是nginx只适合在Linux下使用,和windows真的不合适?因为页面图片较多,也想通过缓存来解决并发问题,于是尝试了squid2.7 , sq 阅读全文
posted @ 2014-01-05 04:20 davidkam 阅读(1437) 评论(0) 推荐(0)
nginx upstream的几种配备方式
摘要:nginx upstream的几种配置方式 nginx 的upstream目前支持4种方式的分配1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器 ,如果后端服务器down掉,能自动剔除。2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: upstream bakend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; }2、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session 的问题。 例... 阅读全文
posted @ 2014-01-05 04:14 davidkam 阅读(294) 评论(0) 推荐(0)
Nginx中的upstream轮询机制介绍
摘要:Nginx中upstream有以下几种方式: 1、轮询(weight=1) 默认选项,当weight不指定时,各服务器weight相同, 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 upstream bakend {server 192.168.1.10;server 192.168.1.11;} 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 如果后端服务器down掉,能自动剔除。 比如下面配置,则1.11服务器的访问量为1.10服务器的两倍。 ... 阅读全文
posted @ 2014-01-05 04:12 davidkam 阅读(469) 评论(0) 推荐(0)
nginx upstream模块
摘要:upstream模块upstream模块 (100%)nginx模块一般被分成三大类:handler、filter和upstream。前面的章节中,读者已经了解了handler、filter。 利用这两类模块,可以使nginx轻松完成任何单机工作。而本章介绍的upstream,将使nginx将跨越单机的限制,完成网络数据的接收、处理和转 发。数据转发功能,为nginx提供了跨越单机的横向处理能力,使nginx摆脱只能为终端节点提供单一功能的限制,而使它具备了网路应用级别的拆分、 封装和整合的战略功能。在云模型大行其道的今天,数据转发使nginx有能力构建一个网络应用的关键组件。当然,一个网络应 阅读全文
posted @ 2014-01-05 04:08 davidkam 阅读(1025) 评论(0) 推荐(0)
关于nginx upstream的几种配置方式
摘要:平时一直依赖硬件来作load blance,最近研究Nginx来做负载设备,记录下upstream的几种配置方式。第一种:轮询upstream test{ server 192.168.0.1:3000; server 192.168.0.1:3001;}第二种:权重upstream test{ server 192.168.0.1 weight=2; server 192.168.0.2 weight=3;}这种模式可解决服务器性能不等的情况下轮询比率的调配第三种:ip_hashupstream test{ ip_hash; server 192.168.0.1; server... 阅读全文
posted @ 2014-01-05 04:05 davidkam 阅读(585) 评论(0) 推荐(0)
nginx upstream的分配方式
摘要:1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2、weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。例如:upstream bakend {server 192.168.159.10 weight=10;server 192.168.159.11 weight=10;}3、ip_hash每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。例如:upstream resinserver{ip_hash;server 192.168.159.10:8080; 阅读全文
posted @ 2014-01-05 04:04 davidkam 阅读(224) 评论(0) 推荐(0)
nginx爆出新漏洞 最低限度可造成DDos攻击
摘要:5月9日消息:国内某安全厂商称HTTP代理服务器nginx爆出远程栈缓冲区溢出漏洞,攻击者利用此漏洞可能造成栈溢出,从而执行任意代码,最低限度可造成拒绝服务攻击。目前,官方已经发布安全公告以及相应补丁,提醒广大站长及时修补此漏洞。nginx是一款流行的HTTP及反向代理服务器,同时也用作邮件代理服务器。其中,nginx 1.3.9-1.4.0版本文件http/ngx_http_parse.c代码中的ngx_http_parse_chunked()函数在对 chunked的长度进行解析时未考虑到该值为负数的情况,导致后续发生基于栈的缓冲区溢出。远程攻击者无需认证即可利用此漏造成nginx拒绝服务 阅读全文
posted @ 2014-01-05 03:48 davidkam 阅读(968) 评论(0) 推荐(0)
负载均衡 session解决方案
摘要:下观点来自于互联网,经本人整理搜集:一、使用数据库存放session此种方案把Session信息存储到数据库表,这样实现不同应用服务器间Session信息的共享。适合并发量不大的网站优点:实现简单缺点:由于数据库服务器相对于应用服务器更难扩展且资源更为宝贵,在高并发的Web应用中,最大的性能瓶颈通常在于数据库服务器。因此如果将 Session存储到数据库表,频繁的增加、删除、查询操作很容易造成数据库表争用及加锁,最终影响业务。二、使用nfs存放session 通过NFS方式来实现各台服务器间的Session共享,各台服务器只需要mount共享服务器的存储Session的磁盘即可,实现较为简单。 阅读全文
posted @ 2013-05-25 01:01 davidkam 阅读(394) 评论(0) 推荐(0)
大型网站如何提高性能(转)
摘要:一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的。 大型网站,比如门户网站,在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。. 阅读全文
posted @ 2013-05-21 20:50 davidkam 阅读(222) 评论(0) 推荐(0)
Web网站架构设计(转)
摘要:目录 [隐藏/显示]1 - Web负载均衡1.1 - 使用商业硬件实现1.2 - 使用开源软件1.3 - 使用windows自带的互载均衡软件1.4 - 总结2 - 静态网站2.1 - 静态域名划分2.2 - 静态网站的缓存2.2.1 - 使用CDN2.2.2 - 自己搭建CDN3 - 动态网站3.1 - 域名划分3.2 - 文件上传及显示3.2.1 - 存放在数据库3.2.2 - 存放在文件服务器3.3 - 动态网站内容更新3.4 - 动态网站缓存技术3.5 - 配置文件3.5.1 - 通过同步软件实现3.5.2 - 通过配置服务实现3.5.3 - 通过数据库实现4 - 网页性能4.1 - 阅读全文
posted @ 2013-05-21 20:39 davidkam 阅读(346) 评论(0) 推荐(0)
nginx与lvs做负载均衡的比较(转)
摘要:lvs和nginx都可以用作多机负载的方案,它们各有优缺,在生产环境中需要好好分析实际情况并加以利用。首先提醒,做技术切不可人云亦云,我云即你云;同时也不可太趋向保守,过于相信旧有方式而等别人来帮你做垫被测试。把所有即时听说到的好东西加以钻研,从而提高自己对技术的认知和水平,乃是一个好习惯。下面来分析一下两者:一、lvs的优势:1、抗负载能力强,因为lvs工作方式的逻辑是非常之简单,而且工作在网络4层仅做请求分发之用,没有流量,所以在效率上基本不需要太过考虑。在我手里的lvs,仅仅出过一次问题:在并发最高的一小段时间内均衡器出现丢包现象,据分析为网络问题,即网卡或linux2.4内核的承载能力 阅读全文
posted @ 2013-05-21 20:32 davidkam 阅读(174) 评论(0) 推荐(0)
squid,nginx,apache几个代理软件的比较(转)
摘要:在并发上,nginx无疑是老大,做反向代理的时候,没有发现squid的并发方面介绍,所以暂且认为ngnix是老大,apache的稳定性有目共睹,但在并发方面的确不是很如意。缓存方面:squid,apache都支持diskcache和memcache,根据http的head头来确定是否缓存,nginx不支持缓存,不过我在google开源上看见了新浪的水杨老大的一个东东,给nginx加上了文件缓存,不过没有大规模使用,暂时不把它当做一种解决方案。在代理和缓存的规则上,apache很强,很强大的重写功能,尤其是强制修改http规则,不过这个功能我始终没有调试成功,no-cache的页面始终无法去缓存 阅读全文
posted @ 2013-05-21 20:24 davidkam 阅读(842) 评论(0) 推荐(0)
squid,nginx,lighttpd反向代理的区别(转)
摘要:反向代理从传输上分可以分为2种:1:同步模式(apache-mod_proxy和squid)2:异步模式(lighttpd 和 nginx)在nginx的文档说明中,提到了异步传输模式并提到它可以减少后端连接数和压力,这是为何?下面就来讲解下传统的代理(apache/squid)的同步传输和lighttpd,nginx的异步传输的差异。看图:同步传输:浏览器发起请求,而后请求会立刻被转到后台,于是在浏览器和后台之间就建立了一个通道。在请求发起直到请求完成,这条通道都是一直存在的。异步传输:浏览器发起请求,请求不会立刻转到后台,而是将请求数据(header)先收到nginx上,然后nginx再把 阅读全文
posted @ 2013-05-21 20:22 davidkam 阅读(201) 评论(0) 推荐(0)
利用 squid 反向代理提高网站性能(转)
摘要:本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术,实现了网站的负载均衡,从而提高了网站的可用性和可靠性。本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术,实现了网站的负载均衡,从而提高了网站的可用性和可靠性。现在有许多大型的门户网站如 SINA 都采用 squid 反向代理技术来加速网站的访问速度, 阅读全文
posted @ 2013-05-21 20:16 davidkam 阅读(204) 评论(0) 推荐(0)
大型高性能ASP.NET系统架构设计(转)
摘要:原文:http://www.cnblogs.com/chenzhao/archive/2012/02/17/2355523.html大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。大型动态应用系统又可分为几个子系统:Web前端系统、负载均衡系统、数据库集群系统、缓存系统、分布式存储系统、分布式服务器管理系统、代码分发系统1、web前端系统为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多 阅读全文
posted @ 2013-05-17 09:03 davidkam 阅读(415) 评论(0) 推荐(2)
WEB架构师成长之路之二-大牛的法宝(转)
摘要:要成为WEB架构师,首先要找到通往成功的正确方向,详见第一篇,WEB架构师成长之路http://www.cnblogs.com/vance/archive/2013/04/12/3017532.html,接下来我们就要往这个方向努力。然而如唐僧去西天取经一样,要历经种种磨难,一路上打败各种妖魔鬼怪才能继续前行,所以唐僧取经,第一件事,就是招徒弟,遇见妖魔鬼怪就让技术高超的徒弟打败它,徒弟不听话就念紧箍咒,徒弟也搞不定的妖怪,就请观音菩萨搞定,这就是唐僧成功的法宝,没法宝上路,看来我们会死的比较惨啊,哈哈。 我们在通往架构师的路上,同样会遇到各种各样的问题,但不幸的是,没有菩萨在暗中相助,要是有 阅读全文
posted @ 2013-05-17 08:49 davidkam 阅读(138) 评论(0) 推荐(0)
WEB架构师成长之路之一-走正确的路(转)
摘要:本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路,如果想成为一个架构师,就必须走正确的路,否则离目标越来越远,正在辛苦工作的程序员们,你们有没有下面几种感觉?一、 我的工作就是按时完成领导交给我的任务,至于代码写的怎样,知道有改进空间,但没时间去改进,关键是领导也不给时间啊。二、 我发现我的水平总是跟不上技术的进步,有太多想学的东西要学,Jquery用的人最近比较多啊,听说最近MVC比较火,还有LINQ,听说微软又有Silverlight了……三、 我发现虽然我工作几年了,除了不停的coding,Ctrl+c和Ctrl+V更 阅读全文
posted @ 2013-05-17 08:48 davidkam 阅读(164) 评论(0) 推荐(0)
京东SSO单点登陆实现分析(转)
摘要:京东的sso流程:初始访问状态:cookies:http请求:1.在首页点击登陆,跳转至passport.360buy.com,给予验证cookie alc(可以试试在提交登陆信息前删除该cookie)cookieshttp请求2.填写用户名密码,提交登陆,验证alc,登陆成功则给予sso的cookie ceshi3.com,跳转至首页cookies:3.首页异步ajax,向passport.360buy.com发起hello请求,hello请求返回json对象a,a包含sso(url地址数组,含请求参数)http请求:发起hello请求的脚本如下:点击(此处)折叠或打开<scriptt 阅读全文
posted @ 2013-05-17 08:35 davidkam 阅读(382) 评论(0) 推荐(0)
基于WCF大型分布式系统的架构设计
摘要:在大型系统中应用中,一个架构设计较好的应用系统,其总体功能肯定是由很多个功能模块所 组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或多个表。而在架构设计中,各个功能模块相互之间的交互点越统一、越少,系统的耦合度就越 低,系统各个模块的维护性及扩展性也就越好。在一个系统中特别是较为大型的系统中,如电子商务系统,可也按照功能,切分为,订单管理系统、商品管理系统、用户管理系统、供应商管理系统...等等,在这样的应用中系统切分了、功能独立了、耦合降低了、容易维护了、可是各个系统中的通讯怎么完成呢,如果,用户系统想查询某个用户的订单信息,要怎么做呢?是要直接引用,订单系统的DLL,还是把这些 阅读全文
posted @ 2013-04-06 16:15 davidkam 阅读(267) 评论(0) 推荐(0)

上一页 1 2 3 4 下一页