在进行GIS项目开发中,常使用Geoserver作为开源的地图服务器,Geoserver是一个JavaEE项目,常通过Tomcat进行部署.而GeoWebCache是一个采用Java实现用于缓存WMS-Tile(瓦片)的开源项目.当客户端请求一张新地图和Tile时,GeoWebCache将拦截这些调用然后返回缓存过的Tiles.如果找不到缓存再调用服务器上的Tiles,从而提高地图展示的速度.最新版本的GeoServer已经完成了GeoWebCache的内嵌. 然而,在实际的生产环境中,地图缓存…
1.Memcached常规应用 $mc = new Memcache(); $mc->conncet('127.0.0.1', 11211); $sql = sprintf("SELECT * FROM users WHERE uid = %d", $_GET['uid']); $key = md5($sql); //检测结果是否已经被缓存 if( ! $data = $mc->get($key)){ //没有缓存则直接从数据库读取 mysql_conncet('local…
Redis分布式部署方案 Window 1.    基本介绍 首先redis官方是没有提供window下的版本, 是window配合发布的.因现阶段项目需求,所以研究部署的是window版本的,其实都是原理都是一样的.Reids集群有两种方案,3.0以前的(3.0以后也可以使用这种方法) 主从复制和 (3.0以后可以采用)redis Cluster. 关于 redis-cluster 的介绍 首先需要 ruby的环境. .redis集群从3.0开始支持,要让集群正常工作至少需要3个主节点. 集群…
Redis 的高可用集群 前言 几种常用的集群方案 主从集群模式 全量同步 增量同步 哨兵机制 什么是哨兵机制 如何保证选主的准确性 如何选主 选举主节点的规则 哨兵进行主节点切换 切片集群 Redis Cluster方案 哈希槽重新分配 1.如果数据已经迁移完了 2.数据迁移了一半 避免 Hot Key 如何发现 Hot Key Hot Key 如何解决 避免 Big Key Big Key 存在问题 如何发现 Big Key Big Key 如何避免 Big Key 如何删除 参考 Redi…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1. 背景 矢量切图方案目前已经是很常见的一个方案,在2016年时团队基于Sharpmap开发了支持不同坐标系.不同切图参数.任意矢量数据(点.线.面)的工具.也着手开发了支持矢量切图浏览器前端配图的工具.在当时研究之前,也写过一篇初步研究的文章:WebGIS中矢量切图的初步研究(http://www.cnblogs.com/naaoveGIS/p/4982549.h…
基础环境 其实基于PHP扩展的Memcache客户端实际上早已经实现,而且非常稳定.先解释一些名词,Memcache是danga.com的一个开源项目,可以类比于MySQL这样的服务,而PHP扩展的Memcache实际上是连接Memcache的方式. 首先,进行Memcache的安装,具体可查看博客里的其它几篇文章: 其次,进行PHP扩展的安装,官方地址是http://pecl.php.net/package/memcache: 最后,启动Memcache服务,比如这样,通过不同端口启动多个进程…
为什么要分布式 Redis是一款开源的基于内存的K-V型数据库,因为内存访问速度快,一般被用来做系统的缓存. Redis作为单机部署能够支持业务简单,数据量不大的系统需求,但在实际应用中,一旦系统规模上来,单机的Redis就会遇到下面的挑战: 伸缩性.系统随着长期运行与业务增长,对Redis存储的数据量需求也越来越大,单机必然受限于服务器的内存与磁盘大小. 高性能.系统规模变大后,对Redis的吞吐量需求也会提高,而单机的吞吐量必然有限,这种情况会影响整体系统的性能. 高可用.Redis持久化机…
版本:http://apache.fayea.com/zookeeper/zookeeper-3.4.8/环境:debian 7/8说明:最低配置3台步骤:1.下载zookeeper-3.4.8并解压缩到合适的位置(本文地址为:/var/local/)2.配置zookeeper-3.4.82.1单机伪分布式部署注意:部署在同一台电脑时,特别注意不能共用相同的端口号,包括clientPort,server.1-3的端口号(1)zookeeper-3.4.8-1位置:/var/local/zooke…
Memcached的特点 Memcached作为高速运行的分布式缓存服务器具有以下特点. 1. 协议简单:memcached的服务器客户端通信并不使用复杂的MXL等格式, 而是使用简单的基于文本的协议. 2. 基于libevent的事件处理:libevent是个程序库,他将Linux 的epoll.BSD 类操作系统的kqueue等时间处理功能封装成统一的接口.memcached使用这个libevent库,因此能在Linux.BSD.Solaris等操作系统上发挥其高性能. 3. 内置内存存储方…
一.分布式方案介绍 比较流行的两种方案: 1.取余分布: 计算key的哈希值,与服务器数量取余,得到目标服务器.优点:实现简单,当某台服务器不可用时,故障转移方便:缺点:当增减服务器时, Key与服务器取余变动量较大,缓存重组代价极大. 代码实现可参考开源组件Memcached.ClientLibrary下的SockIOPool,源码地址: https://sourceforge.net/p/memcacheddotnet/code/HEAD/tree/trunk/clientlib/src/c…