分布式系统和分布式搜索引擎

本文探讨了大数据时代背景下,从单机、集群到分布式架构的发展,重点阐述了分布式系统的基本概念,如分片和副本集,并详细解释了分布式搜索引擎的工作原理,特别是倒排索引和Elasticsearch的分布式特性。通过学习,读者可以理解分布式系统如何解决高并发、高可扩、高性能的需求,以及如何应对数据量的增长和容错性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 

前言

随着互联网技术的日新月异,互联网产业逐渐渗透到社会领域的方方面面,短短十年就改变了诸多人们的生活方式。过去的十年,是互联网发展最为迅速的时代,随着互联网的崛起、用户的激增和数据的爆炸性膨胀,全球的科技大厂积累了丰富的高可用和分布式的经验,大数据、云计算、区块链、人工智能这些高科技时代的产物也随之而来。

本文主要谈谈大数据、分布式系统以及分布式搜索引擎的相关概念。

 

大数据时代

麦肯锡全球研究所给出的大数据定义
一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。

这个定义也表明了大数据的主要三大特征:海量(Volume)、多样(Variety)、实时(Velocity),为了解决这些特征带来的问题,互联网技术需要实现三个需求:高并发高可扩高性能,这就是 3V3高

也正是因为大数据需要强大的算力和海量的存储支撑,传统的单机架构的软件体系已经无法满足大数据业务的需求,所以基于集群、分布式的软件架构体系应用而生。

单机、集群、分布式架构

  • 单机架构
    对于中小型系统业务,所有的代码都放在一个项目,然后这个项目部署在一台服务器,该项目所有的业务都由这台服务器提供,这就是单机结构。但是单机服务器的处理能力是有限的,当业务增长到一定程度的时候,单机的硬件资源将无法满足业务需求,此时便出现了集群模式。

  • 集群架构
    单机的项目实例复制部署到多台服务器上就形成了集群,每个服务器就是一个节点,每一个节点都相当于对实例的克隆,部署多个节点,处理业务的能力和节点数成正比,这些节点的集合就叫做集群。

  • 分布式架构
    分布式结构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”,这些子系统能够独立运行在一台服务器中,多个服务之间通过RPC方式通信,每一个子系统也可以形成一个集群来提高服务性能。

虽然集群和分布式架构解决了 3高 的需求,但是事物都具有两面性,分布式和集群系统带来的缺点也很明显:

  1. 分布式架构是跨进程、跨实例、跨网络的,性能和可靠性容易受到网络环境的影响。
  2. 引入各种中间件、异步通信等模式大大增加了系统的复杂度。
  3. 分布式系统对数据的一致性需要在 C(一致性)A(可用性)P(分区容错性)中做出选择。
  4. 一个系统拆成了多个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值