自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 谈我对网络协议的理解过程:

谈我对网络协议的理解过程: 1.感觉很神秘,对网络协议似懂非懂 2.后来碰到很多的网络协议,除了常见的http,tcp协议,pop3协议等 3,后来在编程过程中遇到RSTP,Protobuf,SSL等; 4,慢慢觉得协议好难理解,怎么那么多协议,这些协议怎么比对,他们有何不同,一直困惑他们有何不同, 后来发现不同的网络协议是在不同层,因此,在同一层来比对同层的协议才有意义和价值; 其实协

2016-10-28 17:00:59 1054

原创 storm安装步骤

storm安装步骤: 1.下载zookeeper 2.配置zookeeper集群 3.下载storm 4.配置storm的zk server 5.启动zk 6.启动 storm nimbus storm ui storm supervisor storm logviewer

2016-10-27 12:05:54 460

原创 手动调整分片分布:

手动调整分片分布:curl -XPOST ip:9200/索引名/_closecurl -XPUT ip:9200/索引名/_settings -d ‘{“cluster.routing.allocation.disable_allocation”: true }’curl -XPOST ip:9200/索引名/_opencurl -XPOST ‘ip:9200/_cluster/reroute’

2016-10-26 18:27:47 996

原创 Supervisor安装步骤:

Supervisor Supervisor Components:supervisord、supervisorctl、Web Server、XML-RPC Interface Platform RequirementsSupervisor has been tested and is known to run on Linux (Ubuntu 9.10), Mac OS X (10.4/10.5

2016-10-26 14:43:03 1230

原创 facebook的thrift和Google的Protobuf

thrift可以作为高性能的通信中间件使用,它支持数据(对象)序列化和多种类型的RPC服务。Protobuf是一个数据序列化框架,支持数据结构化一次可以到处使用,甚至跨语言,通过代码生成工具可以生成不同版本源代码,甚至可以在使用不同版本的数据结构进程间进行数据传递,实现数据结构的前后兼容;注意:Protobuf是一个序列化框架,它不支持RPC,它仅仅是数据序列化框架,和thrift不是一个层面的,虽

2016-10-22 18:05:38 949

原创 netty 对 http 的实现

netty的http协议栈无论是性能还是可靠性,都表现优异,非常适合在非web容器场景 下应用,相比于tomcat、jetty等web容器,它更轻量、小巧、灵活性和定制性也好;总结:只要实现了http协议规范,就可以支持http服务端开发,理解时不应该拘泥于它是容器,还不是容器。

2016-10-22 17:55:59 1861

原创 ES的zen探索方法

多播是ES默认的zen探索方法,注意,如果你的网络不支持多播,那么就得使用单播;通过ifconfig中如果看到MULTICAST属性,那么表示你的网络支持多播; 多播是指在一次传输中将消息发送给一组计算机; 单播是指将消息一对一发送给网络中所有可能的主机;

2016-10-22 17:39:28 532

原创 es集群:禁止分片和副本分配

通过REST API 将cluster.routing.allocation.disable_allocation设置为true,就完全禁止了主分片和副本的分配。注意,这个设置只有在使用REST API 时有意义,因为你不可能希望启动了ES却不将分片分发到节点。

2016-10-22 17:30:37 4315

原创 make

make Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际上 ,任何只要某个文件有变化,就要重新构建的项目,都可以用Make构建. 参考: http://www.ruanyifeng.com/blog/2015/02/make.html

2016-10-21 18:20:13 401

原创 ES节点类型以及各种节点的分工:

ES各种节点的分工: 客户端节点 当主节点和数据节点配置都设置为false的时候,该节点只能处理路由请求,处理搜索,分发索引操作等,从本质上来说该客户节点表现为智能负载平衡器。 独立的客户端节点在一个比较大的集群中是非常有用的,他协调主节点和数据节点,客户端节点加入集群可以得到集群的状态,根据集群的状态可以直接路由请求。数据节点 数据节点主要是存储索引数据的节点,主要

2016-10-21 18:19:46 11199

原创 POSIX

POSIX POSIX表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准, 是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003, 而国际标准名称为ISO/IEC 9945。 POSIX 并不局限于 UNIX

2016-10-21 18:17:51 420

原创 如何查看redis内存情况

如何查看redis内存情况 1登陆 src/redis-cli -c -h bindip -p port 2.输入info即可;

2016-10-21 18:16:48 9798

原创 java内存溢出排查正确姿势:

java内存溢出排查正确姿势: 1.jstat -gcutil pid 看gc频次是否正常,看gc是否能回收掉垃圾; 2.jmap -histo:live pid (这个会触发FGC) 3.jstack pid 看线程谁被阻塞 最后重启,重启前,jmap -dump:format=b,file=路径/文件名 EMA慢慢分析内存,并结合业务代码看,如果是第三方jar包的类,那么使用下载源

2016-10-21 18:16:22 2270

原创 idea导入maven工程的正确姿势:

idea导入maven工程的正确姿势: 先进行将maven进行compile,然后再导入到idea,不然导入的工程依赖会有引用不到的问题发生。

2016-10-21 13:18:15 1965

原创 网络资源关闭的总结:

网络资源关闭的总结: 基于TCP协议的网络链接资源,在客户端链接服务器后,应该对链接资源进行管理, 管理的方式很多,比如池思想(创建一定数量的连接,通过心跳,保持为长连接)。 如果不进行管理,那么获取资源,使用资源后,一定要记得释放(因为,服务器可用的连接数都是会做限制的), 如果不释放,那么其他的客户端会获取不到服务。如果服务器能主动掐断连接的更好,或者服务器端做鉴权认证, (就担心瞬间

2016-10-21 13:15:12 405

原创 linux多用户需要注意的地方-应用程序报错:

linux多用户需要注意的地方-应用程序报错: 应用程序报错:类似用创建不了文件等报错,一般都是目录/文件权限的问题 chown -R yonghuming:fenzuming 目录/文件名 chmod -R 777 目录/文件名

2016-10-21 13:14:31 424

原创 ES的查询模式以及使用场景:

ES的查询模式以及使用场景: SearchType.DFS_QUERY_THEN_FETCH QUERY_THEN_FETCH DFS_QUERY_AND_FETCH QUERY_AND_FETCH SCAN COUNTES的数据遍历原理和深度分页 在 Elasticsearch 中,搜索一般包括两个阶段,query 和 fetch 阶段,可以简单的理解,query 阶段确定要取哪些d

2016-10-21 13:13:46 2409

原创 redis持久化:

redis持久化: Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件):RDB持久化方式会在一个特定的间隔保存那个时间点的一个数据快照。 AOF持久化方式则会记录每一个服务器收到的写操作。在服务启动时,这些记录的操作会逐条执行从而重建出原来的数据。写操作命令记录的格式跟Redis协议一致,以追加的方式进行保存。 Redis的持久化是可以禁用的,就是说你可以让数据的生命周

2016-10-21 13:08:18 270

原创 storm-入门学习笔记

由于这个工具的名字叫Storm,这些术语一律按照气象名词解释spout 龙卷,读取原始数据为bolt提供数据bolt 雷电,从spout或其它bolt接收数据,并处理数据,处理结果可作为其它bolt的数据源或最终结果下面的术语跟气象就没有关系了  topology 拓扑结构,Storm的一个任务单元  define field(s) 定义域,由spout或bolt提供,被bolt接收一个St

2016-10-21 13:03:24 438

原创 关于概念理解的总结:

关于概念理解的总结: 有些概念代表具象(虽然这个具象也是一个抽象,但是它已经是一个概念)的东西,有些概念就是一个逻辑性概念; 比如:在storm中有一些组件基本概念,比如Topology,Nimbus,Supervisor,Worker,Executor,Task,Spout,Bolt,Tuple, Stream,Stream分组, 在这些概念中,有些是具象的,比如Worker就是一个进程,

2016-10-18 13:03:21 416

原创 hbase安装(分布式+外挂zk+hdfs存储)

启动hdfs步骤: 1.下载并安装hadoop 2.设置etc/hadoop/core.site(设置hdfs的地址和端口(如果是本机IP,最好设置下ssh localhost的免密登陆))和etc/hadoop/hdfs-site.xml(设置hdfs副本) 3.启动 /sbin/start-dfs.sh 4.查看启动是否成功 浏览器中输入网址http://ip:50070/dfsheal

2016-10-18 13:00:24 709

原创 开发代码-如何开发易于扩展和清晰的代码

开发代码-如何开发易于扩展和清晰的代码: 1.搭架子(运用经验,根据业务,合理抽成块[每个块都有核心,注意考虑核心怎么实现]和块之间的交互); 2.代码实现; 备注:块的好处就是:好扩展,好测试;

2016-10-11 18:57:54 698

原创 Scala

Scala Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在Java虚拟机上,并兼容现有的Java程序。 Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。 参考: http://www.runoob.com/scala/scala-tutoria

2016-10-11 18:56:55 420

原创 面向对象

面向对象:不同的方法,不同的功能,处理不同的对象, 千万不要因为一个对象可以复用,就不再创建一个新对象; 举例:一个对象object1中有一个属性A,这个属性A是方法method1需要入参,那么就传入了一个对象object1,这种做法是错误的。 正确的做法应该是创建一个对象object2,这个对象中有一个属性A ,A的名称按照业务进行命名;这样才是面向对象原则;

2016-10-11 18:55:30 243

原创 TCP 协议

在使用 TCP 协议的网络程序中,用户数据从产生到从网卡发出去一般要经过如下的逐层封装过程: 网络层通过加 IP首部来封装 TCP 段(Segment) 产生 IP 数据报。 其中首部存在对封装数据的标识:是 ICMP(0x01)、IGMP(0x02)、TCP(0x06,例如本例)还是 UDP(0x11)。参考: http://blog.csdn.net/pinbodexiaozhu/artic

2016-10-11 18:55:07 1829

原创 谈如何设计可伸缩的代码?

谈如何设计可伸缩的代码? 可以通过结果来论证和检验你的代码是否是可伸缩的,一般可伸缩的代码包括以下特征: 1.代码是分块的,如果是流程性的,那么就想pipline一样每个节点一个模块,这是在垂直方向进行分块;也有水平分块的情况,比如同一个级别,多个同等级的分块处理; 2.模块之间或者更细粒度的方法调用链之间的数据传输是每一个方法一个入参对象,这些对象中只包括了该对象需要处理的信息,这叫做面向对

2016-10-11 18:53:49 687

原创 maven + shell + jar包方式启动JVM

maven + shell + jar包方式启动JVM 通过在启动jar的命令行中加入-Dxx可以在启动的时候通过System.getProperty(“xx”)获取到参数xx; 举例如下: -DCorePath=//home/onf/config.properties 在代码中可以用获取 System.getProperty(“CorePath”, “core.properties”);

2016-10-11 18:53:22 1259

原创 关于设计的一点思考:

一个业务场景,有一些问题需要解决,那么解决当前的场景的问题,一般都有一些可直接使用的原则,思想和方法论, 这些方法论的实现技术可能是现成的,这就需要把学到的技术活学活用到具体可以使用的场景中; 当然,没有十全十美的解决方案,当引入一个解决方案时,必然会带来新的问题, 但是,这就需要权衡带来问题是否可以将就或者忽略或者容忍。这涉及到权衡。

2016-10-11 18:52:25 584

原创 js动态交互实现方式

js动态交互方式: 简单版:先把h5吐到页面,然后操作DOM进行渲染; 复杂版:动态生成DOM并操作DOM进行渲染;

2016-10-11 18:49:31 2998

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除