
架构模式
czp11210
长期专注在车载物联网领域,智慧交通行业;精通C/C++、Java、JavaScript等高级语言;钟情于各种开源技术框架,先后参与过各大航空公司的会员、交易、结算等业务体系开发,主持过移动快速开发平台的建设。
展开
-
分布式事务
可以设想一个最简单的分布式事务场景,对于跨银行的转账操作,该操作涉及到调用两个异地的Service服务,一个是本地提供的取款服务,一个是目标银行提供的存款服务,该两个服务本身无状态且独立,构成一个完整的事务。对于事务的处理初步分析:事务补偿机制事务补偿即在事务链中的任何一个正向事务操作,都必须存在一个完全符合回滚规则的可逆事务。如果是一个完整的事务链,则必须事务链中的每一个业务服务转载 2014-02-10 11:34:43 · 1235 阅读 · 0 评论 -
用Varnish搭建Cache服务器
http://iyubo.blogbus.com/logs/30103691.html前段时间图片服务器的连接数已经接近4W了(Windows服务器),为了减轻图片服务器的压力,尝试着用Varnish安装了一台Cache服务器用于图片的Cache,上线以后使用稳定,表现良好。先写下安装配置文档,还在精进中……欢迎大家互相交流安装环境操作系统: CentOS release 5.2转载 2014-06-10 23:13:55 · 1303 阅读 · 0 评论 -
提高 Varnish 的效率:去除不需要的 Cookies 和 QueryStrings
在使用了 Varnish 后发现,Cache hits for pass 的数量比较高,好像是不能缓存的对象请求太多,应该是应用发送了 Set-Cookie 的 HTTP Header,或者使用某些统计代码使用了 Cookie,从而浏览器发送 Cookie 的 Header,导致 Varnish 认为这些请求不应该缓存。如果确实不需要 Cookies 就能正确运行的应用页面,可以修改 VCL :转载 2014-06-10 22:59:02 · 1290 阅读 · 0 评论 -
varnish缓存503错误,400错误的原因和解决方法
生产环境中尝试使用varnish替代squid的主要原因:1. squid不支持多核cpu, 生产环境中大多使用Dell R610系列,这种类型机器配置为2个4核双线程cpu, 操作系统识别为16个,对squid来说,只能利用到一个逻辑cpu, 其它15个逻辑cpu相当于一直浪费。2. squid无法批量清除缓存3. squid3.0目前还无法支持http 1.1, 这对一些管转载 2014-06-10 23:00:40 · 1709 阅读 · 0 评论 -
varnish防盜鏈設置
# 防盜鏈if (req.http.referer ~ "http://.*") { if ( ! (req.http.referer ~ "http://.*aaa\.com" || req.http.referer ~ http://.*bbb\.com || req.http.referer ~ http://.*ccc\.com"转载 2014-06-10 23:03:05 · 764 阅读 · 0 评论 -
Varnish 3.x Cacti 监控插件
Varnish Cache 是一个优秀的HTTP缓存加速器,自发布3.0后,取消了原来内置控制台 stats 命令,远程连接CLI 获取运行状态的方法也不再可用,因此在网上找了一个旧版本的插件,进行了一些修改,数据源取自varnishstat 统计工具,并能正常使用在最新Cacti 0.8.8a 版本上,如图所示,虚拟机简单测试结果安装说明1 – 导入 cacti_host_tem转载 2014-06-10 23:07:37 · 1007 阅读 · 0 评论 -
varnish 的配置文件详细解析(VCL详解)
主机配置backend www { .host = "www.example.com"; .port = "http"; .connect_timeout = 1s; 连接时间 .first_byte_timeout = 5s; 连接上后等待接受第一个字节的时间 .between_bytes_timeout = 2s; 在字节与字节之间的等待时间转载 2014-06-10 22:57:49 · 1059 阅读 · 0 评论 -
Varnish解决带参数的URL可能造成多份缓存的问题
当Varnish遇到带参数的URL(这些参数还经常变)的时候,通常会存在同一个真正的URL存放多份缓存及缓存命中率低的情况,根据官方网站的文档说明,可以在sub_recv中加入如下段解决。 if (req.url ~ ".(jpg|gif|png)\?.*") { set req.url = regsub(req.url, "\?.*", "")转载 2014-06-10 23:04:14 · 862 阅读 · 0 评论 -
Varnish3.0中文入门教程
本教程为官方教程的完整翻译。并做了一定总结、整理。整个Varnish的学习需要分成两个部分,PART1:部署篇,PART2:应用篇第一部分:部署篇作为一个Server Service,部署是最基本的,同时也没有太多需要说明的。按照官方的教程,一运行便可了。但是需要注意的是,–perfix什么的,具体怎么设置的,可要好好的记住,否则,以后要查起来,可就没有头绪了。另外,装了什么样的插转载 2014-06-10 23:06:54 · 1053 阅读 · 1 评论 -
varnish3.0的安装配置
1:varnish的安装:#rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el5/noarch/varnish-release-3.0-1.noarch.rpm其中:--nosignature :想要略过数字证书的检查时,可以使用这个参数。-i:install的意思。#rpm -Uvh转载 2014-06-10 23:08:37 · 665 阅读 · 0 评论 -
中小企业web集群方案 haproxy+varnish+LNMP+memcached配置
前段时间帮一个中型企业做了一个集群方案配置,目前已经安全运行了一个月,而且速度非常快,稳定性也很强,作为一般中型企业负载均衡的方案,非常的合适。但是由于资本有限,没有做到高可用性方案。一,拓扑图如下: 二,架构说明及配置1, haproxy 服务器: 192.168.1.5 2, varnish服务器集群: 192.168.1.20;192.168转载 2014-06-10 23:10:42 · 2245 阅读 · 0 评论 -
varnish指南
这篇文章包括四个小节1、后端服务器2、启动varnish3、记录数据4、使varnish工作在80端口 二、varnish指南 Varnish是一个web加速器,被安装在web应用程序前面,缓存web应用程序,并响应用户请求,varnish让您的web应用程序运行的更快,并且varnish灵活好用。 这个指南没有覆盖所有的var转载 2014-06-10 23:11:32 · 807 阅读 · 0 评论 -
Twitter首席工程师:如何“打败”CAP定理
CAP 定理是数据系统设计的基本理论,目前几乎所有的数据系统的设计都遵循了这个定理。但 CAP 定理给目前的数据系统带来了许多复杂的、不可控的问题,使得数据系统的设计越来越复杂。Twitter 首席工程师、Storm 的作者 Nathan Marz 在本文中通过避开 CAP 定理带来的诸多复杂问题,展示了一个不同于以往的数据系统设计方案,给我们的数据系统设计带来了全新的思路。 CAP 定转载 2014-10-13 17:42:34 · 782 阅读 · 0 评论 -
管理varnish(ctrl+F5強制刷新問題)
可以通过多种途径来进行varnish的管理,包括更改配置、停止服务、启动服务、清理缓存等。可以通过varnishadm命令进行管理,如果你是在远程的话,可以使用telnet来进行管理:telnet 192.168.0.77 8088其中8088就是我们刚在启动varnish的时候指定的管理端口。连接上之后,stop停止服务、start启动服务,可以敲入help查看所有命令。下面的命令,清除转载 2014-06-10 23:02:23 · 1238 阅读 · 0 评论 -
Varnish安装部署
简述:Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。系统环境:CentOS release 5.5 (Final) 64-bit所需软件:varnish-2.1.4.tar.gzVarnish官方网站:http://www.varnish-cache.转载 2014-06-10 23:01:48 · 710 阅读 · 0 评论 -
剖析淘宝TDDL(TAOBAO DISTRIBUTE DATA LAYER)
前言在开始讲解淘宝的TDDL(Taobao Distribute Data Layer)技术之前,请允许笔者先吐槽一番。首先要开喷的是淘宝的社区支持做的无比的烂,TaoCode开源社区上面,几乎从来都是有人提问,无人响应。再者版本迭代速度也同样差强人意,就目前而言TDDL的版本已经全线开源(Group、Atom、Matrix)大家可以在Github上下载源码。 目录一、互联网当下的转载 2014-04-11 10:48:56 · 9674 阅读 · 1 评论 -
可伸缩性最佳实践:来自eBay的经验
在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪影。当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用皮字节(1015或250)来计算——可伸缩性是生死交关的问题。在一个可伸缩的架构中,资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量、数据量等测量。如果说性能衡量的是每一工作单元所需的资源消转载 2014-05-13 14:35:42 · 685 阅读 · 0 评论 -
分布式文件系统MFS(moosefs)实现存储共享
作者:田逸(sery@163.com) from:[url]http://net.it168.com/a2009/0403/270/000000270867.shtml[/url] 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展、高可靠的集群部署(即lvs+keepalived的方式),但仍然有用户反馈访问慢的问题。通过排查个服务器的情况,发现问题的根源在于共享存储服务器NFS转载 2014-05-13 15:56:22 · 977 阅读 · 0 评论 -
nginx反向代理、負載均衡、頁面緩存、URL重寫、讀寫分離(一)
大纲一、前言二、环境准备三、安装与配置Nginx四、Nginx之反向代理五、Nginx之负载均衡六、Nginx之页面缓存七、Nginx之URL重写八、Nginx之读写分离注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yun转载 2014-06-05 10:32:20 · 773 阅读 · 0 评论 -
nginx反向代理、負載均衡、頁面緩存、URL重寫、讀寫分離(二)
四、Nginx之反向代理在配置nginx反向代理之间我们得先准备两台测试服务器,Web1与Web2。1.安装httpd12[root@web1 ~]# yum install -y httpd[root@web2 ~]# yum install -y httpd2转载 2014-06-05 10:34:52 · 1371 阅读 · 0 评论 -
利用Proxy Cache使Nginx对静态资源进行缓存
前言Nginx是高性能的HTTP服务器,通过Proxy Cache可以使其对静态资源进行缓存。其原理就是把静态资源按照一定的规则存在本地硬盘,并且会在内存中缓存常用的资源,从而加快静态资源的响应。配置Proxy Cache以下为nginx配置片段:proxy_temp_path /usr/local/nginx/proxy_temp_dir 1 2;#key转载 2014-06-05 10:16:25 · 19436 阅读 · 0 评论 -
深入探讨Varnish缓存命中率
也许你还在为刚才动态内容获得7336.76 reqs/s的吞吐率感到振奋,等等,理想和现实是有差距的,你要忍受现实的残酷,别忘了,我们压力测试中的动态内容都处于全缓存情况下,也就是每次请求都命中缓存,这在现实中往往是不可能的。首先,缓存区空间大小是有限的,而我们的站点可能有大量的内容需要被缓存,而不像前边压力测试时只有一个内容。一旦缓存区被装满,那么缓存管理器便会淘汰一些它认为不再需要的缓存内转载 2014-06-10 23:01:12 · 963 阅读 · 0 评论 -
Varnish解决带参数的URL可能造成多份缓存的问题
在到达webserver之前对用户的请求做处理.处理多个资源域名sub vcl_recv {if (req.http.host ~ "^(rsh|res1).sina.com$") { set req.http.host = "sh.sina.com"; set req.backend = res1;-------转载 2014-06-10 23:05:52 · 3316 阅读 · 0 评论 -
varnish3安装及配置
1.varnish安装下载varnish软件 (此处下载3.0.2版本) #wget http://repo.varnish-cache.org/source/varnish-3.0.2.tar.gz#tar -xvf varnish-3.0.2.tar.gz #cd varnish-3.0.2 #./configure --prefix=/usr/local/varnish转载 2014-06-10 23:09:19 · 814 阅读 · 0 评论 -
varnish cache使用测试
关于Varnish CacheVarnish Cache是一个web加速软件,用作web服务加速的反向代理,与Squid不同的是它建立在较新的系统内核调用上,并且主要是使用内存作为缓存,它现有的使用者有facebook等,据使用者反馈,其与Squid相比,相同的访问量下连接数大大减少。本人测试过程准备一个普通的HTTP web服务器,我在虚拟机内启动了一个Linux转载 2014-06-10 23:13:11 · 959 阅读 · 0 评论 -
varnish3 yum安装介绍
Varnish 3.02 yum方式 安装:yum方式安装比编译安装要简单简洁很多,而且还可以平滑升级,优点很多Varnish-2.1.2 安装与配置pdf文件(版本:2.1.2,与本文所用varnish3.02有差异,仅供参考)Varnish['vɑ:ni?] 官网 http://www.varnish-cache.org 高性能,高并发 squid替代缓存服务器本文介绍的是最新转载 2014-06-10 23:10:04 · 1679 阅读 · 0 评论 -
varnish配置實例
vim /usr/local/varnish3.0/etc/varnish/default.vcl#设置后端服务backend linuxidc { .host = "192.168.100.5"; .port = "80"; .connect_timeout = 1s; .first_byte_timeout = 5s; .between转载 2014-06-10 22:59:53 · 1707 阅读 · 0 评论 -
网站图片服务器架构的演进
构建在Windows平台之上的网站,往往会被业内众多架构师认为很“保守”。很大部分原因,是由于微软技术体系的封闭和部分技术人员的短视造成的。由于长期缺乏开源支持,所以只能“闭门造车”,这样很容易形成思维局限性和短板。就拿图片服务器为例子,如果前期没有容量规划和可扩展的设计,那么随着图片文件的不断增多和访问量的上升,由于在性能、容错/容灾、扩展性等方面的设计不足,后续将会给开发、运维工作带来很多问题转载 2015-02-28 15:17:17 · 883 阅读 · 0 评论