Elasticsearch环境搭建和river数据导入(一)

虽然花了几天时间调研Solr,后来还是觉得Elasticsearch更靠谱呐,你看支持原生的分片、副本、集群分布式还不用借助zookeeper或者etcd,不用你自己去了解一大堆分布式系统的知识才能开始捣腾,而且还是开源界的新贵 当然其实都2.0了其实也不是很新。 总之就是看上去比apache基金会的那个靠谱,咳咳。如果你更关心它们具体的区别,可以参考这里 > http://solr-vs-elasticsearch.com/ elasticsearch的环境搭建其实都没什么好讲的,因为实在是对新人太友好了嗯,相比之下Solr就显得有那么一点神坑 其实也只是我没有认真读文档,急功近利想马上就搭起来用的原因啦。 搭建一个单机的es非常的简单。 step 1: wget -c https://download.elasticsearch.org/elasticsearch/release/org/

Solr 5.3.1索引MySQL数据配置流程

先说说Solr来索引MySQL数据有什么优点~ 我们的数据库表有很大的表,每天20w数据插入,表里已经累积了2900w的数据,而业务需求又需要一些比较实时的筛选count,遇到一些复杂的count的话MySQL返回结果都是以秒计算。严重拖慢了整个系统的性能。 所以有了搭建搜索引擎来索引MySQL里数据的需求。 之前虽然翻译了一篇5分钟搭建Solr的教程,然而到了导入MySQL这一步还是遇到了很多坑,泪。 因为Solr本身的文档写得不够美丽(滚,而且在网上搜导入MySQL数据的教程都是要么语焉不详,要么都是用的老版本的Solr,所以悲催地踩了两天坑,才终于搭好了基本功能。 下面做一下简单的记录: 1.安装 wget -c http://mirror.bit.edu.cn/apache/lucene/solr/5.3.1/

一致性哈希详解

网站做大了以后,因为MySQL在较高的qps下表现比较差,如果是创业公司的话,那可能租用的都是公有云的机器来做自己的服务,也许就是个内存2GB,cpu两核的kvm,能够使用的资源非常非常的少,所以数据库的实例本身性能也不会好到哪里去。在整体qps达到一定量级之后必然会遇到性能低下的问题,至于这个临界值,是由具体的机器配置得到的,这里就不给出什么结果了,感兴趣的同学可以自己去搜索。 MySQL抗不住的情况下只能引入缓存来提升整体性能了,网站开发有一个比较著名的二八原则,就是80%的用户其实访问的都是20%的数据。所以实际上你只要把这20%的数据缓存好,就可以让网站整体的响应和吞吐量上一个等级。缓存为什么能比去读数据库快?原理也很简单,大多数的缓存会把数据存储在内存中,而数据库则是要去硬盘读取。这两种介质在速度上相差了好几个数量级。 缓存固然好,但假如你的网站变得越来越大的时候,可能会慢慢发现单台机器已经满足不了自己的需求了。这时候就涉及到缓存分布的问题,如果是一个在学校里没有接触过工程项目的人的话,很容易想出来按照请求@key,

从零搭建lnmp环境

之前在大厨网写的环境搭建教程,粘在博客里备份一下~ 在执行以下步骤前请确保自己的机器中有ruby的环境 ruby --version 1.下载virtualbox并安装 https://www.virtualbox.org/wiki/Downloads 2.下载vagrant,这里我们使用的版本是1.7.2,并安装 https://www.vagrantup.com/downloads.html 下面是一些vagrant的介绍: 虚拟开发环境 平常我们经常会遇到这样的问题:在开发机上面开发完毕程序,放到正式环境之后会出现各种奇怪的问题:描述符少了、nginx配置不正确、MySQL编码不对、