代码改变世界

fastcgi安装

2016-01-28 15:22 by 轩脉刃, 2271 阅读, 收藏, 编辑
摘要: fastcgi安装 这里及以下的web服务器都是以nginx为例子和说明,php以5.3为例子。 php fpm fastcgi在服务器上会启动多个进程进行解析,这个时候就需要一个fastcgi的管理器,管理哪个子进程可以结束,哪个进行应该开启了。 fastcgi的进程管理器有两种,spawn fc阅读全文

缓存一致性协议

2016-01-28 15:21 by 轩脉刃, 3535 阅读, 收藏, 编辑
摘要: 缓存一致性协议 操作系统的CPU和内存并不是直接交互操作的。我们的CPU有一级缓存,CPU直接操作一级缓存,由一级缓存和内存进行交互。 当然,有的CPU有二级缓存,甚至三级缓存等。实际上,大概二十年前,一级缓存是直接和内存交互的,现在,一般是二级缓存和内存直接通讯。 每个CPU都有一级缓存,但是,我阅读全文

说说分布式事务

2016-01-28 15:18 by 轩脉刃, 772 阅读, 收藏, 编辑
摘要: 分布式事务 分布式事务说的就是一个事务的两个或者多个操作不是在一个数据库中进行的,而是在多个数据库中执行。 这个时候,如何保证事务操作的原子性和一致性? 举个支付的例子,支付进行买东西。事务由两个行为组成,我的购买商品数据表数据+1,支付金额表数据-1。 如果这两个都是在同一库中,没啥问题。 但是这阅读全文

solr的suggest模块

2016-01-28 15:16 by 轩脉刃, 3219 阅读, 收藏, 编辑
摘要: solr的suggest模块 solr有个suggest模块,用来实现下拉提醒功能,就是输入了一个文本之后,进行文本建议查找的功能。 suggest请求的url 这里可以看到有几个参数: suggest=true 这个参数必须为true,表示我这次请求是suggest请求。 suggest.q 进行阅读全文

hadoop的概念

2016-01-28 15:03 by 轩脉刃, 401 阅读, 收藏, 编辑
摘要: hadoop的概念 网上会经常遇到各种hadoop的概念,Hive,HBase,Hdfs都各是什么呢? 首先从hdfs说起,hdfs是分布式文件系统,它把集群当作单机一样做文件操作,文件可能存在于多个机器上,具体的存储细节会对使用者隐藏。 "map_reduce" 是一个计算框架,google提出的阅读全文

golang内存分配

2016-01-21 10:09 by 轩脉刃, 6523 阅读, 收藏, 编辑
摘要: golang内存分配 new一个对象的时候,入口函数是malloc.go中的newobject函数 这个函数先计算出传入参数的大小,然后调用mallocgc函数,这个函数三个参数,第一个参数是对象类型大小,第二个参数是对象类型,第三个参数是malloc的标志位,这个标志位有两位,一个标志...阅读全文

golang中的race检测

2016-01-20 10:19 by 轩脉刃, 8787 阅读, 收藏, 编辑
摘要: golang中的race检测 由于golang中的go是非常方便的,加上函数又非常容易隐藏go。 所以很多时候,当我们写出一个程序的时候,我们并不知道这个程序在并发情况下会不会出现什么问题。 所以在本质上说,goroutine的使用增加了函数的危险系数 "论go语言中goroutine的使用"...阅读全文

技术晨读_2015_11_29

2015-11-29 21:45 by 轩脉刃, 322 阅读, 收藏, 编辑
摘要: 技术导读 How many nodes should an Elasticsearch cluster have? es的集群应该有多少个节点?文章主要建议要考虑脑裂的情况,搭建2n+1个节点。 http://cpratt.co/how many nodes should an elastics...阅读全文

mysql的timeout

2015-10-29 10:01 by 轩脉刃, 9489 阅读, 收藏, 编辑
摘要: mysql的timeout 很多时候我们连接mysql会在timeout这里跌倒,这里明确下mysql的timeout: 下面是获取timeout的变量: mysql show global variables like "%timeout%"; + + + | Variable_na...阅读全文

Gradle目录解析

2015-10-28 09:47 by 轩脉刃, 17236 阅读, 收藏, 编辑
摘要: Gradle目录解析 Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。 Gradle这个工具集成了构建,测试,发布和其他,比如软件打包,生成注释文档等功能。 之前eclipse使用ant进行软件的构建功能,需要配置一大堆的xml...阅读全文