分布式技术相关专栏索引

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 分布式技术相关专栏索引

从8月份开始写第一篇分布式相关内容的blog,到现在11月花了三个月的时间学习和实践,共完成了分布式中间件Redis>ElasticSearch>Kafka>Cassandra 共计43篇blog,对基本的分布式的中间件的使用、原理以及运行机制都有了一个总体性的认知,以及对他们如何协同工作,解决问题和应用场景都有了较为深刻的理解。这里把这些技术和目录以及每篇blog的主要用意是什么列举到这里,分享给大家一起学习。

分布式机器集群搭建

首先要进行的就是一个虚拟机集群网络的硬件基础搭建,我这里使用了Centos7来进行搭建,搭建使用了两篇blog来描述,照着我这个流程来,稳稳的。

题目 概述
【分布式集群搭建 一】虚拟机配置(VMware+Centos7+SecureCRT+AppNode) 总而言之就是配置一个虚拟机: 安装VMware、下载Centos镜像、创建虚拟机、给虚拟机配置CentOS系统、给虚拟机配置CentOS系统、给虚拟机配置网络、查看网络节点信息、使用SecureCRT进行终端操作
【分布式集群搭建 二】克隆虚拟机并配置集群 虚拟机在配置好后需要复制几份进行集群联通,拍摄快照、克隆虚拟机、配置克隆虚拟机【修改ip地址、修改主机名称】、检测是否互通、修复AppNode问题【卸载AppNode、重装AppNode】

在搭建好互联互通的虚拟机集群后,就在集群上分别部署分布式的中间件,并且让他们彼此之间配置后通信。

缓存中间件-Redis系列

缓存对于企业级应用非常重要,Redis可以说是缓存使用较为高频的一个技术了,在概念层面介绍了Redis的一些基本信息,在原理层面阐述了一些Redis面对问题处理策略和机制,在集群层面介绍了Redis的一些集群和企业级的解决方案。

Redis基础【概念层面】

在概念层面层面主要介绍Redis的基本概念,如何上手,常用的数据结构和使用场景,Jedis怎么玩儿这一套东西:

题目 概述
【Redis从入门到放弃系列 一】Redis概要介绍 这一篇比较废,是去年3月的一个关于Redis的学习规划,没想到拖了1年半了才来整,惭愧。
【Redis从入门到放弃系列 二】Redis基本概念 时隔第一篇三个月后才缓慢的动了一步,实际上就是一个Redis的基本概念,这一篇可以说是之后为什么会有分布式的一个基石吧:NoSQL概述【时代背景、NoSQL分类】、Redis概述【应用场景、数据类型、安装】
【Redis从入门到放弃系列 三】Redis数据结构概述 主要内容就是对五种基本常见数据结构的一个使用:Redis 字符串(String)、Redis 哈希(Hash)、Redis 列表(List)、Redis 集合(Set)、Redis 有序集合(sorted set)、数据结构常用场景
【Redis从入门到放弃系列 四】Redis五种常用数据结构应用场景 正式进入主菜了,对五种常用数据结构和其真实面对的企业场景进行详尽的学习,看完这篇,前三篇其实不用看:Redis的基本概念与特点、Redis的安装与使用、Redis的应用场景、Redis的数据结构及对应场景
【Redis从入门到放弃系列 五】Redis数据结构综合应用场景及总结 基于上一篇,复合的使用一些数据结构去解决复杂的业务场景:限时限次结算的服务控制、微信接收消息顺序通知
【Redis从入门到放弃系列 六】Redis通用指令 关于一些Redis的刷库、key的常用操作等的一些非数据结构相关的指令:key通用命令、数据库通用命令
【Redis从入门到放弃系列 七】Jedis的使用 Jedis对Redis的一些操作,实际上本篇也是较为重要的一篇,涉及如下内容:Jedis简介、Jedis环境搭建、Jedis操作Redis、Jedis综合案例实现【限时限次结算的服务控制】、Jedis简易工具类使用【Jedis连接池】、可视化客户端【没什么用,黑窗口不香么?】

Redis高级【原理层面】

在原理层面主要介绍Redis的基本的一些实际使用的策略,遇到哪些问题该如何做,使用什么样的策略和机制去解决问题?

题目 概述
【Redis从入门到放弃系列 八】Linux中搭建Redis环境 正儿八经的Redis是在Linux上玩儿的:Redis的Linux安装【下载Redis到Linux、编译Redis、安装Redis、启动Redis服务端、启动Redis客户端】、Redis多终端启动、Redis指定配置文件启动
【Redis从入门到放弃系列 九】Redis持久化策略 咱怎么才能不丢数据,正儿八经的持久化策略:RDB方案【save策略、bgsave策略、条件bgsave策略】、AOF方案【always策略、everysec策略、no策略】、AOF重写机制、AOF重写方式【手动重写、配置自动重写】
【Redis从入门到放弃系列 十】Redis的事务机制 说到数据库一定需要事务:事务简介、事务基本操作、事务工作流程、事务注意事项【指令书写错误、指令语法错误、Redis事务无法回滚】、锁的使用、watch和分布式
【Redis从入门到放弃系列 十一】Redis分布式锁实战 去年11月份在项目中遇到的问题,据此完成了一篇实战的blog:消息分发、消息处理、技术特性【队列锁、分组锁、相同元素出队】
【Redis从入门到放弃系列 十二】Redis的删除策略 删除其实也是惰性删,只不过有好几种策略:什么是过期数据、过期数据的删除策略【定时删除、惰性删除、定期删除】、Redis的逐出算法【LRU、LFU、TTL、random 】
【Redis从入门到放弃系列 十三】Redis的高级数据结构 一些高级的数据结构,也谈不上结构,数据模型吧:Bitmaps数据模型、HyperLogLog数据结构、GEO数据结构

Redis集群【集群层面】

在概念层面层面主要介绍Redis的基本概念,如何上手,常用的数据结构和使用场景,Jedis怎么玩儿这一套东西:

题目 概述
【Redis从入门到放弃系列 十四】Redis集群之主从复制模式 集群中最简单的模式,实际上也是后边的基础:主从复制架构【简单架构模式、复合架构模式、主从复制的作用】、主从复制工作流程【建立连接阶段、数据同步阶段、命令传播阶段】、主从复制常见问题【频繁的全量复制、频繁的网络中断、数据不同步】
【Redis从入门到放弃系列 十五】Redis集群之哨兵模式 比主从复制高端点儿了,用一个哨兵集群去管理Redis集群:哨兵模式概述【主从切换技术、哨兵模式】、启用哨兵模式【配置文件修改、启动服务器及哨兵】、哨兵模式工作原理【监控阶段、通知阶段、故障转移阶段】
【Redis从入门到放弃系列 十六】Redis集群之Cluster模式及集群搭建 哨兵的方式能解决高效和读写分离,但是负载均衡以上都解决不了,依赖于cluster模式:Cluster集群结构设计、Cluster集群搭建、主从切换问题
【Redis从入门到放弃系列 十七】Redis企业级解决方案【缓存预热、热备、雪崩、击穿、穿透】 实际企业中会遇到的我们常听到的一些老八股了:缓存预热、缓存雪崩、缓存击穿、缓存穿透、缓存热备及解决方案
【Redis从入门到放弃系列 十八】Redis分布式锁深入、改进策略及RedLock算法 基于分布式的Redis的分布式锁有了更加全面的认知:单机状态下可能遇到的问题【解决SetNx的超时非原子操作问题【互斥性、防死锁】、解决非本线程对锁的删除问题【安全性】、解决Redis突然宕机线程剩余任务未执行完问题】、集群状态下可能遇到的问题也就是RedLock算法

搜索中间件-ElasticSearch系列

由于公司的技术栈里有,并且很多大厂也在用,而且本身自己也比较感兴趣,所以还是深入的研究了一下:概念层面就是基本的一些介绍,高级部门则是对原理的一些认知。

ElasticSearch基础【概念层面】

在概念层面层面主要介绍ElasticSearch的基本概念,前世今生,Lucene的使用,ES的使用,Java对ES的一些调用:

题目 概述
【ElasticSearch从入门到放弃系列 一】全文检索基本概念 全文检索的一些概念性知识:数据的分类【结构化和非结构化数据的区别】、全文检索【全文检索的基本概念】,应用场景及如何实现【为什么使用全文检索】
【ElasticSearch从入门到放弃系列 二】全文检索的实现思路 全文检索实现的思路是什么:索引的创建过程、索引的查询过程、全文检索举例
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用 Lucene的基本使用方式:Lucene的基本概念、Lucene的环境搭建,Lucene索引的创建和查询【创建索引、查询索引】、中文IK分词器、文档的创建和索引库的维护【创建文档、删除索引库、删除单条文档数据,更新文档数据】、索引查询【ID查询、Term查询、QueryString查询】
【ElasticSearch从入门到放弃系列 四】ElasticSearch的基本概念和使用 ES的一些使用方式:ElasticSearch核心概念、 ElasticSearch环境搭建, ElasticSearch索引的增删改查【索引的维护、文档的维护、中文IK分词器【最小切分与最大切分】】
【ElasticSearch从入门到放弃系列 五】ElasticSearch分布式集群搭建 集群的相关概念:分布式相关概念、分布式集群搭建【复制节点、修改节点配置、启动三个节点、添加一条索引】
【ElasticSearch从入门到放弃系列 六】Java客户端操作ElasticSearch Java客户端操作ES,环境配置、索引库维护【创建索引库、设置Mappings、添加文档】、使用ES客户端搜索【根据id搜索、根据Term查询、QueryString查询方式、分页搜索、高亮显示】
【ElasticSearch从入门到放弃系列 七】Spring Data Elasticsearch的使用 Java语言操作ES的封装形式SpringDataES,环境搭建【引入spring data elasticsearch命名空间、编写实体Article并改装为JavaBean、编写Dao、配置applicationContext.xml、创建测试类SpringDataESTest】,索引库维护【创建文档、删除文档、查找文档、原生查询】

ElasticSearch高级【原理层面】

在原理层面层面主要介绍ElasticSearch的一些分页方式、存储方式、集群对请求的处理路由、全局的查询方式的大型讨论现场:

题目 概述
【ElasticSearch从入门到放弃系列 八】Elasticsearch集群深度探讨 从原理层面上介绍节点的一些作用,选举机制:节点的分类【候选主节点、数据节点、协调节点】、集群与节点的发现机制、主节点的选举机制、脑裂现象、如何防止脑裂、重要参数举例
【ElasticSearch从入门到放弃系列 九】Elasticsearch原理机制探索 深入讨论CRSUD怎么玩儿,路由原理是什么、一些存储原理和索引策略:索引CRSUD的原理、索引的路由原理、存储原理【分段存储、段不变的优势、段不变的劣势】、索引策略【延迟写策略、更新合并文档策略、段合并策略】、如何性能优化
【ElasticSearch从入门到放弃系列 十】Elasticsearch深度分页查询方式讨论 三种不同的分页方式,哪个更适合深度分页呢?from+size分页查询方式、scroll深度分页查询方式【scroll、scroll-scan、scroll-after
【ElasticSearch从入门到放弃系列 十一】Elasticsearch常用查询方式讨论及实践 ES的查询方式,普通的、复合的以及聚合的。普通查询【id查询、语法查询、DSL查询(term、terms、much、much_all、match_phrase、muti_match、range、exists、prefix、wildcard、regexp、fuzzy)】、复合查询【must、filter、should、mustnot】、聚合查询【桶聚合与指标聚合】

消息中间件-Kafka系列

Kafka可谓是消息中间件最热门的实现方式,高吞吐量的分布式架构让Kafka成为当下最热门的技术之一,所以是俺的必学:

Kafka基础【概念层面】

在基础层面主要介绍Kafka的一些基本架构、集群的搭建方式,和一些简单概念:

标题 概述
【Kafka从入门到放弃系列 一】Kafka概述及基本架构 Kafka的一些基本概念和介绍: 前置概念理解【生产者消费者模型、消息队列】、Kafka的基本概念【基本定义、基本术语】、Kafka基本架构【消息传递机制、Zookeeper的作用】
【Kafka从入门到放弃系列 二】Kafka集群搭建及基本命令 如何搭建一个Kafka集群。单节点虚拟机安装【下载安装Kafka、修改Zookeeper配置文件、修改Kafka配置文件】、克隆至虚拟机集群【创建每台机器的myid文件、修改每台机器的Kafka配置】、运行Kafka的命令【启动zookeeper和Kafka、创建topic、查看已创建topic、查看topic的详情、发送消息、消费消息、删除topic关闭、kafka服务】

Kafka高级【原理层面】

在原理层面主要介绍Kafka的工作流程和存储机制、生产者策略和消费者策略以及高并发读写和zookeeper的一些管理:

标题 概述
【Kafka从入门到放弃系列 三】Kafka架构深入—工作流程和存储机制 核心的工作流程和文件存储机制: Kafka工作流程、Kafka文件存储机制【Partion&Segment、Segment存储结构、快速定位消息】
【Kafka从入门到放弃系列 四】Kafka架构深入—生产者策略 其实Kafka的主要策略集中在生产者。分区策略【分区的原因、分区路由机制】、数据可靠性保证【ACK应答机制、副本同步策略、ISR的概念】、故障转移机制【HW&LEO概念、故障同步机制、Leader选举】
【Kafka从入门到放弃系列 五】Kafka架构深入—消费者策略 消费端只需要好好的处理事务岁月静好吧:消费方式【推的方式、拉的方式】、分区分配策略【Range策略、Roud-Robin策略、Sticky策略】、offset的维护消费者组测试
【Kafka从入门到放弃系列 六】Kafka架构深入—高并发读写及Zookeeper管理 为什么Kafka可以高效读写,当然是顺序读写和深拷贝了:Kafka高效读写数据Zookeeper管理【注册broker、注册topic、注册consumer、Producers 负载均衡、Consumer 负载均衡、记录消费进度 Offset、记录 Partition 与 Consumer 的关系】

Kafka运维与企业级配置【实战层面】

在运维实战层面主要是使用了一个监控工具,用Java对Kafka进行了一下调用,然后实践的搭建了一个生产者消费者系统。

题目 概述
【Kafka从入门到放弃系列 七】Kafka可视化监控 下载一个Kafka监视器吧,对于我来说收获不大:下载Kafka-eagle、找到jdk的安装路径、配置环境变量、修改Kafka启动配置、启动Kafka-eagle【查看topic和broker概览、查看详细topic信息、查看集群信息、查看消费者信息】
【Kafka从入门到放弃系列 八】Kafka的API调用 怎么用Java来调用一个Kafka:环境准备、生产者API【发送方式、防消息重复提交】、消费者API【自动提交offset、手动同步提交offset、手动异步提交offset】
【Kafka从入门到放弃系列 九】Kafka生产者消费者系统实践 自己亲手实践的,找时间再看看源码了解下:整体实践背景介绍生产者端、消费者端

NoSql中间件-Cassandra系列

Cassandra这块了解的比较少,主要是大家用的都比较少,平时接触也不多,之后有机会深入了解吧

Cassandra基础【概念层面】

在概念层面主要是介绍了一下Cassandra的基本概念和简单架构,对Column-based的存储模式有了一个简单的认知,对Cassandra的数据模型设计有了一个简单的了解

题目 概述
【Cassandra从入门到放弃系列 一】概述及基本架构 为啥咱还需要Nosql,以及为啥咱用Cas来当Nosql使用:Cassandra基本特点、Cassandra基本架构【基本术语表、Gossip协议】
【Cassandra从入门到放弃系列 二】Column-based存储模式 从原理层面咱再看看为啥要用Nosql:Column-based存储模式、与关系型数据库的性能对比【写入性能对比、读取性能对比】
【Cassandra从入门到放弃系列 三】Cassandra的数据模型设计 大体了解了下基本的数据模型:基本数据模型【列】【列Column、普通列Column、超级列Super Column、列族Column Family、键空间Keyspace、对比关系型数据库】、基本数据模型【行】、数据排序

以上就是全部的分布式第一阶段的学习,我相信这只是个开始,接下来还有一些原理性内容要去学习,更接下来希望自己能亲手调优一下!

相关文章
|
11天前
|
监控 算法 网络协议
|
24天前
|
人工智能 文字识别 Java
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
尼恩,一位拥有20年架构经验的老架构师,通过其深厚的架构功力,成功指导了一位9年经验的网易工程师转型为大模型架构师,薪资逆涨50%,年薪近80W。尼恩的指导不仅帮助这位工程师在一年内成为大模型架构师,还让他管理起了10人团队,产品成功应用于多家大中型企业。尼恩因此决定编写《LLM大模型学习圣经》系列,帮助更多人掌握大模型架构,实现职业跃迁。该系列包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构》等,旨在系统化、体系化地讲解大模型技术,助力读者实现“offer直提”。此外,尼恩还分享了多个技术圣经,如《NIO圣经》、《Docker圣经》等,帮助读者深入理解核心技术。
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
|
2月前
|
人工智能 Kubernetes Cloud Native
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
因为一个问题、我新学了一门技术 ElasticSearch 分布式搜索
这篇文章讲述了作者因为一个检索问题而学习了ElasticSearch技术,并分享了排查和解决ElasticSearch检索结果与页面展示不符的过程。
因为一个问题、我新学了一门技术 ElasticSearch 分布式搜索
|
3月前
|
SQL 分布式计算 MaxCompute
一种基于ODPS SQL的全局字典索引分布式计算思路
本文提供一种能充分利用分布式计算资源来计算全局字典索引的方法,以解决在大数据量下使用上诉方式导致所有数据被分发到单个reducer进行单机排序带来的性能瓶颈。
|
3月前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
89 5
|
3月前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
62 0
|
3月前
|
存储 负载均衡 中间件
构建可扩展的分布式数据库:技术策略与实践
【8月更文挑战第3天】构建可扩展的分布式数据库是一个复杂而具有挑战性的任务。通过采用数据分片、复制与一致性模型、分布式事务管理和负载均衡与自动扩展等关键技术策略,并合理设计节点、架构模式和网络拓扑等关键组件,可以构建出高可用性、高性能和可扩展的分布式数据库系统。然而,在实际应用中还需要注意解决数据一致性、故障恢复与容错性以及分布式事务的复杂性等挑战。随着技术的不断发展和创新,相信分布式数据库系统将在未来发挥更加重要的作用。
|
4月前
|
算法 数据库 OceanBase
共识协议的技术变迁问题之Raft协议对分布式系统有什么贡献
共识协议的技术变迁问题之Raft协议对分布式系统有什么贡献
57 8
|
3月前
|
SQL 存储 分布式计算
神龙大数据加速引擎MRACC问题之RDMA技术帮助大数据分布式计算优化如何解决
神龙大数据加速引擎MRACC问题之RDMA技术帮助大数据分布式计算优化如何解决
55 0
下一篇
无影云桌面