varnish+nging与squid+apache缓存

2024-03-31 12:38

本文主要是介绍varnish+nging与squid+apache缓存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大量数据,大并发,采用缓存,可以减少服务器负担,提高客户端访问加载速度

1.缓存服务器推荐linux操作系统来作,生产环境不宜使用windows操作系统作缓存服务器;

2.linux环境下,推荐采用varnixh+nginx方案;

3.稳定是缓存服务器的第一要务;

一.缓存有多种方式


1.开发语言提供缓存API进行缓存,可以在开发编码级进行;
2.开发语言和缓存服务器配合缓存数据或文件放到独立服务器上,这类有memcached服务器;
3.通过反向代理进行缓存,代理软件主要有Varnish,Squid等,可以作负载均衡,也可以缓存文件;
4.本地缓存,利用HTTP协议提供机制,进行本地缓存,Nginx,Apache等;

二.所需要软件版本

1.Varnish代理服务器
官方推荐windows版本不用于生产环境!所以还是采用Linux服务器,使用Linux版本.
各linux套件的软件仓库已经包括了varnish,当前版本是Varnish Cache 3.0.3
2.nginx
nginx-1.2.8.tar.gz

或者

1.Squid代理服务器

推荐使用Linux环境,当前版本:squid-3.3.3.tar.gz
Windows平台下当前使用稳定版本:squid-2.7.STABLE8-bin.zip

2.Apache

各linux套件软件仓库已经包括,当前版本httpd-2.4.4.tar.gz 

windows平台:httpd-2.2.24-win32-x86-no_ssl.msi

3.Tomcat,IIS

三.架构
1.后端的应用服务器Tomcat,IIS均可;
2.本地缓存采用Nginx(或者Apache的mod_expires.so模块)进行Response的Cache-Control,Expires配置控制;
3.对于本地缓存到期后,向服务器再次请求缓存内容的,采用Varnish(或者Squid)代理服务器缓存静态文件;

Varnish(或者Squid)接收客户浏览器发送的请求,转向Nginx(或者Apache)服务器,再由Nginx(或者Apache)转向Tomcat,IIS服务器.Varnish(或者Squid)代理服务器设置的缓存时间一般大于Nginx(或者Apache)在expires设置的时间.

这篇关于varnish+nging与squid+apache缓存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/864356

相关文章

缓存雪崩问题

缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。 解决方案: 1、使用锁进行控制 2、对同一类型信息的key设置不同的过期时间 3、缓存预热 1. 什么是缓存雪崩 缓存雪崩是指在短时间内,大量缓存数据同时失效,导致所有请求直接涌向数据库,瞬间增加数据库的负载压力,可能导致数据库性能下降甚至崩溃。这种情况往往发生在缓存中大量 k

Redis中使用布隆过滤器解决缓存穿透问题

一、缓存穿透(失效)问题 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有命中,会去数据库中查询,而数据库中也没有该数据,并且每次查询都不会命中缓存,从而每次请求都直接打到了数据库上,这会给数据库带来巨大压力。 二、布隆过滤器原理 布隆过滤器(Bloom Filter)是一种空间效率很高的随机数据结构,它利用多个不同的哈希函数将一个元素映射到一个位数组中的多个位置,并将这些位置的值置

防止缓存击穿、缓存穿透和缓存雪崩

使用Redis缓存防止缓存击穿、缓存穿透和缓存雪崩 在高并发系统中,缓存击穿、缓存穿透和缓存雪崩是三种常见的缓存问题。本文将介绍如何使用Redis、分布式锁和布隆过滤器有效解决这些问题,并且会通过Java代码详细说明实现的思路和原因。 1. 背景 缓存穿透:指的是大量请求缓存中不存在且数据库中也不存在的数据,导致大量请求直接打到数据库上,形成数据库压力。 缓存击穿:指的是某个热点数据在

PHP APC缓存函数使用教程

APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户数据缓存。(Linux APC扩展安装) 系统缓存 它是指APC把PHP文件源码的编译结果缓存起来,然后在每次调用时先对比时间标记。如果未过期,则使用缓存的中间代码运行。默认缓存 3600s(一小时)。但是这样仍会浪费大量C

缓存策略使用总结

缓存是提高系统性能的最简单方法之一。相对而言,数据库(or NoSQL数据库)的速度比较慢,而速度却又是致胜的关键。 如果使用得当,缓存可以减少相应时间、减少数据库负载以及节省成本。本文罗列了几种缓存策略,选择正确的一种会有很大的不同。缓存策略取决于数据和数据访问模式。换句话说,数据是如何写和读的。例如: 系统是写多读少的吗?(例如基于时间的日志)数据是否是只写入一次并被读取多次?(例如用户配

Apache Tiles 布局管理器

陈科肇 =========== 1.简介 一个免费的开源模板框架现代Java应用程序。  基于该复合图案它是建立以简化的用户界面的开发。 对于复杂的网站,它仍然最简单,最优雅的方式来一起工作的任何MVC技术。 Tiles允许作者定义页面片段可被组装成在运行一个完整的网页。  这些片段,或Tiles,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用

Apache HttpClient使用详解

转载地址:http://eksliang.iteye.com/blog/2191017 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟

开源Apache服务器安全防护技术精要及实战

Apache 服务简介   Web服务器也称为WWW服务器或HTTP服务器(HTTPServer),它是Internet上最常见也是使用最频繁的服务器之一,Web服务器能够为用户提供网页浏览、论坛访问等等服务。   由于用户在通过Web浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而Web在Internet上一推出就得到了爆炸性的发展。现在Web服务器已

uniapp小程序下载缓存服务器上的图片

1. 使用uni.downloadFile,但是注意下载图片的地址里的域名,需要在微信公众平台里面的downloadFile合法域名进行配置。 export default function downloadAndCacheImage(imageUrl, name) {return new Promise((resolve, reject) => {console.log("imageUrl",

基于canal的Redis缓存双写

canal地址:alibaba/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件 (github.com)https://github.com/alibaba/canal 1. 准备 1.1 MySQL 查看主机二进制日志 show master status 查看binlog是否开启 show variables like 'log_bin' 授权