跳至主要內容
《极客时间教程 - 秒杀系统》笔记

《极客时间教程 - 秒杀系统》笔记

开篇词丨秒杀系统架构设计都有哪些关键点?

秒杀的整体架构可以概括为“稳、准、快”几个关键字

  • 稳-高可用 - 服务需要考虑各种容错场景,保证服务可用
  • 准-一致性 - 高并发下的库存数量增减不能出错,避免超卖
  • 快-高性能 - 支持高并发的读写

设计秒杀系统时应该注意的 5 个架构原则

秒杀系统本质上就是一个满足大并发、高性能和高可用的分布式系统。


钝悟...大约 16 分钟笔记设计设计架构秒杀系统超卖
分布式存储面试

分布式存储面试

缓存

扩展:


钝悟...大约 11 分钟分布式分布式存储分布式分布式存储面试
分布式调度面试

分布式调度面试

服务注册和发现

【基础】什么是服务注册和发现?

要点

服务定义是服务提供者和服务消费者之间的约定,但是在微服务架构中,如何达成这个约定呢?这就依赖于服务注册和发现机制。

在微服务架构下,服务注册和发现机制中主要有三种角色:

  • 服务提供者(RPC Server / Provider)
  • 服务消费者(RPC Client / Consumer)
  • 服务注册中心(Registry)

服务发现通常依赖于注册中心来协调服务发现的过程,其步骤如下:

  1. 服务提供者将接口信息以注册到注册中心。
  2. 服务消费者从注册中心读取和订阅服务提供者的地址信息。
  3. 如果有可用的服务,注册中心会主动通知服务消费者。
  4. 服务消费者根据可用服务的地址列表,调用服务提供者的接口。

这个过程很像是生活中的房屋租赁,房东将租房信息挂到中介公司,房客从中介公司查找租房信息。房客如果想要租房东的房子,通过中介公司牵线搭桥,联系上房东,双方谈妥签订协议,就可以正式建立起租赁关系。

img
img

钝悟...大约 69 分钟分布式分布式调度分布式协同面试
分布式协同面试

分布式协同面试

复制

【基础】什么是复制?复制有什么作用?

要点

复制主要指通过网络在多台机器上保存相同数据的副本

复制数据,可能出于各种各样的原因:

  • 提高可用性 - 当部分组件出现位障,系统依然可以继续工作,系统依然可以继续工作。
  • 降低访问延迟 - 使数据在地理位置上更接近用户。
  • 提高读吞吐量 - 扩展至多台机器以同时提供数据访问服务。

钝悟...大约 72 分钟分布式分布式协同分布式协同综合分布式协同面试
Dubbo 面试

Dubbo 面试

Dubbo 的实现过程?

节点角色:

节点 角色说明
Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器

钝悟...大约 11 分钟分布式分布式通信RPCDubbo分布式分布式应用微服务Dubbo面试
Elasticsearch 架构

Elasticsearch 架构

存储流程

ES 存储数据的流程可以从三个角度来阐述:

  • 集群的角度来看,数据写入会先路由到主分片,在主分片上写入成功后,会并发写副本分片,最后响应给客户端。
  • 分片的角度来看,数据到达分片后需要对内容进行格式校验、分词处理然后再索引数据。
  • 节点的角度来看,ES 数据持久化的步骤可归纳为:Refresh、写 Translog、Flush、Merge。

钝悟...大约 13 分钟数据库搜索引擎数据库Elasticsearch数据库搜索引擎数据库Elasticsearch存储索引
Elasticsearch 搜索(上)

Elasticsearch 搜索(上)

搜索简介

Elasticsearch 支持多种搜索:

  • 精确搜索(词项搜索):搜索数值、日期、IP 或字符串的精确值或范围。
  • 全文搜索:搜索非结构化文本数据并查找与查询项最匹配的文档。
  • 向量搜索:存储向量,并使用 ANN 或 KNN 搜索来查找相似的向量,从而支持 语义搜索 等场景。

钝悟...大约 8 分钟数据库搜索引擎数据库Elasticsearch数据库搜索引擎数据库Elasticsearch搜索
《极客时间教程 - Elasticsearch 核心技术与实战》笔记二

《极客时间教程 - Elasticsearch 核心技术与实战》笔记二

第四章:深入搜索

基于词项和基于全文的搜索

基于词项的查询

Term 是表达语意的最小单位。搜索和利用统计语言模型进行自然语言处理都需要处理 Term

Term 级别查询:Term / Range / Exists / Prefix / Wildcard

在 ES 中,Term 查询,对输入不做分词。会将输入作为一个整体,在倒排索引中查找准确的词项,并且使用相关度计算公式为每个包含该词项的文档进行相关度计算。


钝悟...大约 19 分钟笔记数据库数据库搜索引擎数据库Elasticsearch
《极客时间教程 - Elasticsearch 核心技术与实战》笔记一

《极客时间教程 - Elasticsearch 核心技术与实战》笔记一

第一章:概述

课程介绍(略)

课程综述及学习建议(略)

Elasticsearch 概述及其发展历史

Elasticsearch 是一款基于 Lucene 的开源分布式搜索引擎。


钝悟...大约 17 分钟笔记数据库数据库搜索引擎数据库Elasticsearch
《Elasticsearch 实战》笔记

《Elasticsearch 实战》笔记

第 1 章 Elasticsearch 介绍

  • Elasticsearch 是构建在 Apache Lucene 基础之上的开源分布式搜索引擎。
  • Elasticsearch 常见的用法是索引大规模的数据,这样可以运行全文搜索和实时数据统计。
  • Elasticsearch 提供的特性远远超越了全文搜索。例如,可以调优搜索相关性并提供搜索建议。
  • 对于数据的索引和搜索,以及集群配置的管理,都可以使用 HTTP API 的 JSON,并获得 JSON 应答。
  • 可以将 Elasticsearch 当作一个 NoSQL 的数据存储,包括了实时性搜索和分析能力。它是面向文档的,默认情况下就是可扩展的。
  • Elasticsearch 自动将数据划分为分片,在集群中的服务器上做负载均衡。这使得动态添加和移除服务器变得很容易。分片也可以复制,使得集群具有容错性。

钝悟...大约 12 分钟笔记数据库数据库搜索引擎数据库Elasticsearch
2
3
4
5
...
59