HBase 系统架构

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

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+树对于数据读操 ...

Service Mesh概述

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

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 p ...

RocketMQ介绍

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

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

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

JMS和ActiveMQ介绍

消息中间件 Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messagesbetweendistributed systems. MOM能做什么? 收消息和发消息,本质上是通信问题。最直接的通信方式是源端→目的端的两点通信,消息中间件的产生使得通信方式发生转变,变成了源端→消息中间件→ ...

SpringMVC原理解析

前身今世 Spring MVC是一种基于 MVC设计模式,请求-响应模型的轻量级Web框架,是当前毋庸置疑的最流行的Web框架。相比于Struts/Webx等老一辈Web框架,Spring MVC最主要有以下3点优势: 易用性 :角色划分清晰,URL映射简洁明了,Spring Boot下零配置,学习成本低。 兼容性 :与Spring无缝融合,天然享受Spring的抽象容器,面向切面,热部署等特性。 扩展性 :基于"Open-Close"原则,处理器(Controller) ...

JS绘制Charts图表

目前通过js绘制图表的工具有很多,下面是使用到较多的图表库。 svg 图表库 D3 C3 nvd3 highcharts html5 canvas 图表库 chartjs echarts G2,G6,F2 js在线调试工具 jsfiddle codepen