主页

0

Java NIO Buffer API缓冲区(Buffer)是 NIO 的一个重要概念,所有的网络数据,都需要Buffer 封装一层再出去。 10 <= 标记(mark) <= 位置(position) <= 限制(limit) <= 容量 (capacity) 首先搞清楚上面的概念,尤其是 limit 和 capacity 是不一样的 It is very import

0

初涉 Kubernetes(三): Overlay 与直接路由

Overview本篇主要是为了补充上一篇的网络专题。上一篇对很多技术有一个笼统的介绍,包括实现原理讲的都比较笼统。毕竟篇幅有限。这一篇主要从vxLan 和直接路由(无覆盖网络)两个角度来补充上一篇暂未提及的内容。 Further Reading

0

初涉 Kubernetes(二):网络专题

Overview本篇探讨的是 Kubernetes 乃至 Docker 的一个重要话题,网络。我是开发出身,网络知识对我来说就是个新世界的大门。因此关于网络这块我会描述的更加基础,更加易懂,也是为了方便我自己理解。 Docker 的网络基础以下概念均是从 Linux 的角度来探讨。 网络命名空间处于不同命名空间的网络协议栈是完全隔离的,且彼此间无法通信,新创建的命名空间只有一个回环设备 lo。这样

0

初涉 Kubernetes(一):组件认知

Overview 上一篇《Kubeadm 搭建 Kubernetes 集群》 简单交代了 Kubernetes 的集群搭建方法,这一篇算是基于安装好的集群,做了一个简单的入门总结。 API ServerAPI Server 是 Kubernetes 非常核心的一个组件,主要的作用就是提供了 Kubernetes 各类资源对象(Service、Pod、RC、Deployment 等) 的增删改查以及

0

Kubeadm 搭建 Kubernetes 集群

Overview 本文简单介绍如何利用 Kubeadm 搭建 Kubernetes 1.6.4 集群的方法,网络方案采用Flannel(Overlay)。本篇不对原理和架构有过多阐述和讲解,只阐述步骤。 废话少说,立马开始! 环境四台机器(CentOS7.1)1234192.168.80.23 (master)192.168.80.24192.168.80.25192.168.80.26 Doc

0

从 LSM Tree 到 HBase

之前的文章 《初涉 HBase》 初步介绍了 HBase 底层逻辑,包括 HBase 的基础架构、读写数据流程以及表设计要注意的一些要点。这篇文章着重从 LSM Tree 的角度介绍 LevelDB 的经典实现,并以此为切入点加深对 HBase 的认知。 LSM Tree 是什么所谓 LSM(The Log-Structured Merge-Tree),即日志结构合并树,是由两个或两个以上存储数据

0

ElasticSearch 内部机制浅析(三)

前言上篇从分布式的角度阐述了 ES 的分布式设计和思想,这一篇打算与 Lucene 结合起来,摸透一些 ES 的常遇到的概念,我们可以将了解到的这些东西应用到优化实践中去。 废话不多说,进入正题。 ShardShard 实际上是一个 Lucene 的一个实例(Lucene Index),但往往一个 Elastic Index 都是由多个 Shards (primary & replica)

0

ElasticSearch 内部机制浅析(二)

前言上篇大致介绍了 ElasticSearch CRUD 的数据走向和涉及到的 Gossip 算法和每一种节点扮演的角色。我们对 ES 有了初步的认知,这一篇着重从 CAP 的角度去解读 ES 的分布式思想。 Split Brain之前介绍过,对于去中心化的 ES 分布式系统来说,采用默认配置是无法避免脑裂问题的(可以参考前一篇文章的discovery.zen.minimum_master_nod

0

ElasticSearch 内部机制浅析(一)

前言ElasticSearch (以下简称为 ES)从名字上看是搜索引擎,实际上除了搜索的作用,ES 甚至还支持上千台服务器分布式部署以及 PB 级别的可靠性存储,适合构建高可用和可扩展的系统。本文从设计的角度探讨 ES 是如何运作且能够支撑如此庞大的数据量的检索和插入。 节点类型 Master Eligible Node (候选主节点):设置成node.master=true (default)

0

JVM 监控工具小记

jps (JVM 进程状态工具)1jps -lv 通常这样就可以大致看清楚 JVM 应用的基本概况 -l : 输出main类或Jar的全名 -v : 输出携带的 JVM 参数 -m : 输出传入 main 方法的参数 -q : 静默模式,只输出进程号 jstack (查看 JVM 线程堆栈信息)123456789101112131415Usage: jstack [-l] <pi