坚信科学,分享技术

2018全新版本,未来在blog.54chen.com更新博客!

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Yearly Archives: 2012

senseidb使用手记

下载 https://github.com/downloads/linkedin/sensei/sensei-1.0.0-release.tar.gz 这个版本是2012年1月份发布的,如果您看到此文时时间太久,请到他们的官方网站去寻找:http://senseidb.com 下载kafka kafka:由linkedin开源的高吞吐量的消息系统。 http://people.apache.org/~nehanarkhede/kafka-0.7.0-incubating/kafka-0.7.0-incubating-src.tar.gz 下载中文分词包IKAnalyzer http://code.google.com/p/ik-analyzer/downloads/list 编译sensei tar zxvf sensei-1.0.0-release.tar.gz cd sensei-trunk ./bin/build.sh 或者 mvn package 要是没有maven客户端,需要自行安装(ubuntu下直接apt-get install maven) 编译kafka tar zxvf kafka-0.7.0-incubating-src.tar.gz cd kafka-0.7.0-incubating-src/ ./sbt update pacakge 编译IKA 新建一个jar包,里面只有一个类,内容如下: public class IKAnalyzerFactory implements SenseiPluginFac

Continue reading

Posted in 架构研究 | Tagged | Leave a comment

54chen Twitter memo 2012-03-04

http://t.co/r7nCokDj OpenStack三大平台之一的存储平台作者的开发心路历程。 # 分布式实时搜索方案介绍-senseidb http://t.co/G3s9SzMW # 54chen Twitter memo 2012-02-26 http://t.co/Yy27ICLV #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

分布式实时搜索方案介绍-senseidb

名词解释 zoie:由linkedin开源的建立在lucene之上提供实时索引的系统。它利用两 个内存索引一个硬盘索引来实现实时搜索。 bobo-browse:由linkedin开源的基于lucene的分类浏览搜索系统。 zookeeper:一个分布式的,开放源码的分布式应用程序协调服务,常用来做配置服务。 senseidb:开源,分布式,实时,半结构化的数据库(官方网站上如是说)。实际上是一个将zoie、bobo-browse、zookeeper整合起来,提供各种方便的使用办法的一个项目。项目目标是达到简单易用的分布式实时搜索系统。 kafka:由linkedin开源的高吞吐量的消息系统。 norbert:norbert是一个提供分布式集群服务的开发框架,具备集群管理功能,对开发简单的通信架构,易扩展能承受高吞吐量的框架。scala实现,java无缝使用。其原理是:netty+zookeeper+pb。 IKAnalyzer:中文分词较好用的一个。 lucene:这个不用说了。 使用senseidb 1.解决中文分词问题 senseidb支持在配置上进行自定义analyzer。 要做的事情就是,建立一个jar包,里面只要一个类即可,依赖IKA的包。代码如下: public class IKAnalyzerFactory implements SenseiPluginFactory<IKAnalyzer> {       @Override&nb

Continue reading

Posted in 架构研究 | Tagged , | 2 Comments

54chen Twitter memo 2012-02-26

linkedin高吞吐量分布式消息系统kafka使用手记 http://t.co/JePY5Hx6 # kafka是由linkedin开源的高性能高可用的消息系统,linkedin比facebook低调,不过好东西真不少。 # senseidb很靠谱。 # 求1至N年经验java工程师,最好是互联网经验不惧新技术,一起来小米码代码,码的范围包括:分布式实时搜索、feed平台、hadoop、riak。感谢朋友们帮转,chenzhen at xiaomi dot com # 开始研究sensei,希望两天之内有所收获。 # 54chen Twitter memo 2012-02-19 http://t.co/CjylB6Zp #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

linkedin高吞吐量分布式消息系统kafka使用手记

kafka是一种高吞吐量的分布式发布订阅消息系统,她有如下特性: 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。 支持通过kafka服务器和消费机集群来分区消息。 支持Hadoop并行数据加载。 设计侧重高吞吐量,用于好友动态,相关性统计,排行统计,访问频率控制,批处理等系统。大部分的消息中间件能够处理实时性要求高的消息/数据,但是对于队列中大量未处理的消息/数据在持久性方面比较弱。 kakfa的consumer使用拉的方式工作。 安装kafka 下载:http://people.apache.org/~nehanarkhede/kafka-0.7.0-incubating/kafka-0.7.0-incubating-src.tar.gz > tar xzf kafka-.tgz > cd kafka- > ./sbt update > ./sbt package 启动zkserver: bin/zookeeper-server-start.sh config/zookeeper.properties 启动server: bin/kafka-server-start.sh config/server.properties 就是这么简单。 使用kafka import java.util.Arrays;   import java.util.List;   import&nbsp

Continue reading

Posted in 架构研究 | Tagged | 9 Comments

54chen Twitter memo 2012-02-19

预计在未来近期内发布rose-thrift、rose-zookeeper,基于spring/thrift/zk的高可用SOA解决方案。 # 54chen Twitter memo 2012-02-12 http://t.co/k0nAJfnO #

Continue reading

Posted in 生活备份 | Tagged | 1 Comment

54chen Twitter memo 2012-02-12

twitter又小改版了?调整了发推位置 # nosql应该是在引擎层面以省去解析和事务锁的方式来提升性能,以多节点协调快速复制来达到高可用性和良好的扩展性,集群内数据只需要最终一致。增减机器比RDMS容易即可。 # 使用rebar与reltool构建的release项目,只有一个基础的erts,不包括toolbar等模块。有点类似早期java打包的exe文件自带jre一样的思想。 # http://t.co/33n0klrr 怀着无限苦逼的心情人肉穿透了riak_core的代码,穿透后变成了敬畏。 # 人肉解析riak_admin join http://t.co/hu8ZUFAp # go语言安装手记 http://t.co/vOSk9YUU # 关于异常,GO语言中使用恐慌(Panic)机制进行了总结:当作为最后的手段使用,你的代码中应当没有,或者很少使用令人恐慌的东西,一旦恐慌了就要恢复(recover)它。 # <<360全部APP被苹果一夜下架>>有感:出来混,迟早要还的。 # erlang与go在部分功能上类似,主要区别是erlang是函数式语言,而go是命令式的,erlang运行在虚拟机上,而go是编译的。 # 年前和哥学社的鸟哥在2012第2期《程序员》 P106刊登了hashdos的解决办法,可惜纸媒太慢,现在到手杂志,php为了fix hashdos引出的漏洞都已经fix了。 # 54chen Twitter memo 2012-02-05 http://t.co/VwMYT1Wa #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

人肉解析riak_admin join

riak_admin只是一个bash脚本,当riak_admin join被执行时,都是在执行riak_kv_console join。 大概过程分析 riak_kv_console:join => %%入口 riak:Join(Node) => %% 真正执行 riak_core:join(Node) => %%去到riak_core riak_core_gossip:legacy_gossip() => %%通知检查是否是 legacy gossip, riak_core:standard_join(Node,Ring,false) => %%非rejoin 非legacy riak_core_gossip:send_ring(Node, node()) => %% 进入gossip模块发起ring请求 gen_server:cast({?MODULE, FromNode}, {send_ring_to, ToNode}) => %%广而告之 riak_core_gossip:handle_cast({send_ring_to, Node}, State) => %%收到 gen_server:cast({?MODULE, …

Continue reading

Posted in 资料文档 | Tagged | Leave a comment

go语言安装手记

安装 机器环境 centos 5.5 64位机器 有两种编译器,官方的文档是基于Go编译器和工具(6g 8g),另一个是gccgo(后台是gcc)。 工具和编译的对照表: amd64 (a.k.a. x86-64); 6g,6l,6c,6a 386 (a.k.a. x86 or x86-32); 8g,8l,8c,8a arm (a.k.a. ARM); 5g,5l,5c,5a 这是一个坑:Mercurial(hg工具)需要安装,并且要1.7版本以上的。(实际上给个下载的tar包不是可以降低门槛嘛,应该是还在开发状态为了方便使用hg直接升级环境)。折腾这个的人应该不在少数。 hg clone -u release https://go.googlecode.com/hg/ go cd go/src ./all.bash 最后会停在一段时间: --- cd ../test 然后提示: 0 known bugs; …

Continue reading

Posted in 资料文档 | Tagged | 2 Comments

54chen Twitter memo 2012-02-05

安乐死释义:某云博士,下套传统手机厂,游说江湖大佬风清扬,末鸟发配亦庄充军。 # 每次发F码,都需要做艰难的决定。 # 现在流行,在github上写博客。 # Riak Core说明 http://t.co/lvFrWhFK # maven库nexus拖不到jar包小记 http://t.co/ZKOAz3lG # http://t.co/bxISwqBP riak工程团队,为啥老外都显老? #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment
Page 7 of 8« First...45678