ORM Series
JDBC 基础回顾
Mybatis
Mybatis-基础篇Mybatis-配置篇Mybatis-映射篇Mybatis-实战篇Mybatis-Plus
Spring Series
Spring Framework
JavaWebSpringSpringMVC
Security Framework
ShiroSpringSecurity
SpringBoot2
SpringBoot2—基础篇SpringBoot2—应用篇SpringBoot2—原理篇
Java Series
Java语言基础
Java Basic
JavaBasic-1-基础内容JavaBasic-2-Lambada表达和Stream流JavaBasic-3-常用类JavaBasic-4—集合类JavaBasic-5-泛型JavaBasic-6-注解JavaBasic-7-异常JavaBasic-8-多线程JavaBasic-9-IOJavaBasic-10-反射JavaBasic-11-网络编程
Java 8
Java8-1-Lambda ExpressionJava8-2-函数式接口Java8-3-方法引用与构造器引用Java8-4-Stream APIJava8-5-OptionalJava8-6-并行流Java8-7-接口中默认方法和静态方法Java8-8-新时间日期API
Java并发编程
JUC 基础入门
JUC 源码分析
JUC-0-Java并发编程零基础入门JUC-1-基础回顾JUC-2-CompletableFutureJUC-3-多线程锁JUC-4-LockSupport与线程中断JUC-5-Java内存模型JMMJUC-6-volatile与JMMJUC-7- ...
Fsharp Series
FSharp Basic
Fsharp-01-ValuesFSharp-02-FunctionsFSharp-03-CollectionsFSharp-04-LoopFSharp-05-Match_and_if_thenFSharp-06-Function_AdvanceFSharp-07-Collections-MutableFSharp-08-Array.ParallelFSharp-09-DataStructure
企业开发进阶-5-Docker
DockerQuickStartDockerBasicDockerInstallDockerAdvance
13 ES集群
#
单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。
海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点
单点故障问题:将分片数据在不同节点备份(replica )
ES集群相关概念:
集群(cluster):一组拥有共同的 cluster name 的 节点。
节点(node) :集群中的一个 Elasticearch 实例
分片(shard):索引可以被拆分为不同的部分进行存储,称为分片。在集群环境下,一个索引的不同分片可以拆分到不同的节点中
解决问题:数据量太大,单点存储量有限的问题。
此处,我们把数据分成3片:shard0、shard1、shard2
主分片(Primary shard):相对于副本分片的定义。
副本分片(Replica shard)每个主分片可以有一个或者多个副本,数据和主分片一样。
数据备份可以保证高可用,但是每个分片备份一份,所需要的节点数量就会翻一倍,成本实在是太高了!
为了在高可用和成本间寻求平衡,我们可以这样做:
首先对数据分片,存储到 ...