一、节点
一个节点就是一个服务(实例),可以实现存储数据,索引并且搜索的功能。
每个节点都有一个唯一的名称作为身份标识;如果没有设置名称,默认使用 UUID 作为名称。推荐定义有意义的名称,便于更好的在集群中区分与管理。
节点通过设置集群名称,在同一网络中发现具有相同集群名称的节点,组成集群。如果在同一网络中只有一个节点,则这个节点成为一个单节点集群,即此节点集群中每个节点都是功能齐全的服务。
1. 集群节点要考虑的问题:
- 数据共享
- 主从切换
- 负载均衡等
2. 数据节点(如:redis、elasticsearch、数据库)要考虑的问题:
- 分片问题等
二、集群
一个或多个节点集合组成一个集群,集群上的节点可以存储数据,并提供跨节点的索引和搜索功能。
集群通过一个唯一的名称作为标识,如果节点所在的网络能够发现集群,那么节点通过设置集群名称自动加入相应的集群。所以同一个网络,不同环境、服务的集群的名称不能重复。
为了保证高可用性,服务器需要做冗余。多个服务器组合在一起称为集群,一般指应用服务器;存储型的服务器集群指得是:数据一个服务器放不下,分别放到不同机器中,这些机器称为集群。
三、主从
针对存储型服务器,比如mysql、redis,专门存放数据。虽然集群后,存储型的服务器有很多个,但是每个上面的内容不一样,如果坏了,数据就会丢失。为了保证这些数据的高可用,每个存储型的服务器主机需要做备份,这些备份称为从机。
有了主从后,可以实现读写分离(主分片写,副本读)等扩展功能。但读写分离并不是主从的目的,主从只是为了实现数据的高可用性。