**
SolrColud
**
SolrColud是Solr提供的分布式搜索方案,适合大规模容错,分布式索引和检索能力。
SolrColud需要Solr基于Zookeeper部署,Zookeeper是一个集群管理软件,由于So录入C欧陆的需要由多台服务器组成。
Solr集群中写数据过程
1、使用solr连接SolrColud中任意的一个节点,如果连接的是slave节点,solrCloud内部机制,会将这个请求,转发到当前这个分片上一个master节点上。
2、有master节点进行数据的保存 (保存其中50数据)将这些保存后的数据分发另外两台slave服务器。
3、同时会把剩余的数据转发给另一个分片的master节点上。
4、另一个分片的mster及诶单开始进行保存数据
5、将数据分发给其余两台的slave节点。
读数据过程
1、使用solr连接solrCloud集群中任意的一个节点,如果连接的mster节点,solrColud的内部机制会将这个请求,转发到当前分片的一个slave节点上。
2、由这个slave节点将请求进行赋值(根据分片的数量)将这些请求转发给不同分片上的slave节点
3、由这些slave几点执行查询操作后,会将结果返回给用户最初连接的那个节点上。
4、由这个最初连接的节点帮助合并查询结果并返回。
分裂:是将一个分片进行一分为二的过程
作用:扩大索引空间
分片:值是将一个索引库进行一分多的过程
**
Zookeeper
**
Zookeeper是一个分布式的开放原码的分布式应用程序协调服务,是Hadoop和Hbase.dubbox.kafka的重要组件。
它是一个为分布式应用提供一致性服务的软件,提供的功能包括配置维护、域名服务、分布式同步、组服务。
本质上是一个分布式的小文件存储系统。
zookeeper的架构
Leader:zookeeper集群工作的核心,事务请求(写操作)的唯一调度和处理这,保证集群事务处理的顺序性,集群内部各个服务器的调度者。
Follower:处理客户非实物(读操作)请求,转发事务请求给Leader,参与集群Leader选举投票。Observer:观察者角色,对于非实物请求可以进行独立处理,对事务请求,则会转发给leader。
**
Dubbox
**
Dubbox是一个分布式服务框架,提供高性能和透明化的RPC远程服务调用方案。
如何实现系统通信?
使用rpc协议进行远程调用,直接使用socket通信,传输效率高,并且可以统计出系统之间的调用关系、调用次数。
基本使用
dubbox官方推荐使用zookeeper作为dubbox的注册中心,负责服务地址的注册与查找,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。