HBase 系统架构

本文基本是对MapR的官网文章An In-Depth Look at the HBase Architecture的翻译 HBase存储架构 HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由一下类型节点组成:HMaster节点、HRegionServer节点、ZooKeeper集群,而在底层,它将数据存储于HDFS中,因而涉及到HDFS的NameNode、DataNode等,总体结构如下: HMaster节点 管理HRegionServer,实现其负载均衡。 管理和分配HRegion,比如在HRegion split时分配新的H ...

HBase LSM树

LSM树全称是基于日志结构的合并树(Log-Structured Merge-Tree)。No-SQL数据库一般采用LSM树作为数据结构,HBase也不例外。众所周知,RDBMS一般采用B+树作为索引的数据结构,如图1。RDBMS中的B+树一般是3层n路的平衡树。B+树的节点对应于磁盘数据块。因此对于RDBMS,数据更新操作需要5次磁盘操作(从B+树3次找到记录所在数据块,再加上一次读和一次写)。 在RDBMS中,数据随机无序写在磁盘块中,如果没有B+树,读性能会很低。B+树对于数据读操作能很好地提高性能,但对于数据写,效率不高。对于大型分布式数据系统,B+树还无法与LSM树相抗衡。 ...

HBase Docker环境搭建

获取docker-compse文件 docker脚本可以从链接获取 修改docker-compse.xml文件,注意端口映射 version: "2" services: zookeeper-1: container_name: zookeeper-1 networks: ["vnet"] hostname: zookeeper-1.vnet image: smizy/zookeeper:3.4-alpine ports: ["2181:2181"] environment: - SERVICE_2181_NA ...

Service Mesh概述

关于ServiceMesh相关知识和进展,推荐资深大牛敖小剑的相关文章 https://skyao.io/ ServiceMesh的社区网站 http://www.servicemesher.com/ 最近蚂蚁金服开源了分布式框架 SOFA,项目地址 Alipay,具体文档可见 Sofa 关于Sofa Mesh, 暂时未开源,相关选型介绍可见 Sofa Mesh 一、 Service Mesh概念与定义 这个概念首先由Linkerd的团队提出,其官方定义是: A service mesh is a dedicated infrastructure layer for ...

Cloud Native定义

CNCF定义 CNCF(Cloud Native Computing Foundation,云原生计算基金会),6月11日,CNCF技术监督委员会经过几个月的讨论,终于投票通过了Cloud Native的定义,目前官方的翻译如下: Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, serv ...

RocketMQ介绍

MetaQ是一个基于“发布-订阅”的队列模型消息中间件,服务端使用JAVA编写,客户端支持JAVA、C++。 对外已开源,名字叫RocketMQ。 metaq的特性 消费模型 metaq采用发布-订阅模型,发布者发布消息到metaq,订阅者向metaq订阅消息。 消息的消费方式是pull方式,由消费者主动从metaq服务器拉取数据,解析成消息并消费。 消息持久性 metaq 接收到消息之后,会先把消息持久化到本地。 常用的持久化方式: - 持久化到DB - 持久化到KV存储,如levelDB,伯克利DB - 持久化到文件 metaq使用的是 持久化到文件 ,并充分利用Lin ...

Redis(三)使用Docker Compose部署基于Sentinel的高可用Redis集群

大家一定非常熟悉如何利用Docker启动单个Redis容器用于开发环境,本文将介绍如何利用Docker Compose模板在本机和云端部署基于Sentinel的高可用Redis 3集群。 Redis集群可以在一组redis节点之间实现高可用性和sharding。今天我们重点围绕master-slave的高可用模式来进行讨论,在集群中会有1个master和多个slave节点。当master节点失效时,应选举出一个slave节点作为新的master。然而Redis本身(包括它的很多客户端)没有实现自动故障发现并进行主备切换的能力,需要外部的监控方案来实现自动故障恢复。 Redis Sen ...

JMS和ActiveMQ介绍

消息中间件 Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messagesbetweendistributed systems. MOM能做什么? 收消息和发消息,本质上是通信问题。最直接的通信方式是源端→目的端的两点通信,消息中间件的产生使得通信方式发生转变,变成了源端→消息中间件→目的端的三点通信。 用消息中间件进行收/发消息,关键在于分布式。三个核心特性 解耦: 各系 ...