分布式
文章平均质量分 93
李姓门徒
视思明,听思聪,色思温,貌思恭,言思忠,事思敬,疑思问,忿思难,见得思义。
多写、多记、多思考!
慢一点,再慢一点,慢就是快,少打错别字!
可以查看个人私人网站 https://www.dawnli.cn/
展开
-
Hdfs小文件治理策略以及治理经验
小文件是 Hadoop 集群运维中的常见挑战,尤其对于大规模运行的集群来说可谓至关重要。如果处理不好,可能会导致许多并发症。Hadoop集群本质是为了TB,PB规模的数据存储和计算因运而生的。为啥大数据开发都说小文件的治理重要,说HDFS 存储小文件效率低下,比如增加namenode负载等,降低访问效率等?究竟本质上为什么重要?以及如何从本质上剖析小文件,治理小文件呢?今天就带你走进小文件的世界。原创 2024-05-03 22:20:35 · 1077 阅读 · 0 评论 -
ClickHouse高原理与实践
ClickHouse是俄罗斯公司Yandex研发的一款开源的,用于OLAP( Online Analytical Processing,联机分析,即通过多种不同的维度审视数据。OLAP具有多维度、快速响应、聚合计算、数据切片等特点)的列式存储的数据库管理系统。ClickHouse名称的来源是Click Stream,Data WareHouse,即基于点击事件流的数据仓库。ClickHouse设计的初衷就是以最快的速度进行GROUP BY查询和过滤,它充分利用了列式存储,数据压缩,向量化执行,数据分原创 2024-05-01 00:09:18 · 1511 阅读 · 0 评论 -
MySQL和Redis的数据一致性问题和应对策略
“数据一致”一般指的是:缓存中有数据,缓存的数据值 = 数据库中的值。但根据缓存中是有数据为依据,则”一致“可以包含两种情况:- 缓存中有数据,缓存的数据值 = 数据库中的值(需均为最新值,本文将“旧值的一致”归类为“不一致状态”)- 缓存中本没有数据,数据库中的值 = 最新值(有请求查询数据库时,会将数据写入缓存,则变为上面的“一致”状态)”数据不一致“:缓存的数据值 ≠ 数据库中的值;缓存或者数据库中存在旧值,导致其他线程读到旧数据原创 2024-04-30 11:37:34 · 1457 阅读 · 0 评论 -
k8s的ca以及相关证书签发流程
对于网站类的应用,网站管理员需要向权威证书签发机构(CA)申请证书,这通常需要花费一定的费用,也有非营利的证书签发机构,比如”Let's Encrypt“可以为用户免费签发证书。但对于Kubernetes这类应用来讲,它通常部署在企业内部,其管理面组件不需要暴露到公网,所以就不需要向外部的证书签发机构申请证书,系统管理员就可以自已签发证书供内部使用。本文通过介绍部分内部组件的ca证书签发流程,引导相关的证书签发过程。原创 2024-04-08 16:07:33 · 1194 阅读 · 0 评论 -
MySQL常见锁探究
MySQL提供了几种锁机制来管理并发访问数据库时的数据一致性。本文探讨各种类型以及应用场景。原创 2024-04-05 23:53:01 · 806 阅读 · 0 评论 -
Flink运行机制相关概念介绍
大数据计算分为离线计算和实时计算,其中离线计算就是我们通常说的批计算,代表技术是Hadoop MapReduce、Hive等;实时计算也被称作流计算,代表技术是Storm、Spark Streaming、Flink等。本文系统地介绍了流式计算的相关知识,并着重介绍了Flink的实现原理细节,便于大家快速地理解和掌握流式计算,并基于Flink完成业务开发。原创 2024-04-04 22:20:45 · 1222 阅读 · 0 评论 -
Ceph分布式存储系统以及高可用原理
Ceph分布式存储系统具有优秀的策略层的设计,**无中心元数据节点,无单点问题,完善的错误恢复机制,良好的扩展性等特性是它的核心竞争力**。同时,良好的架构设计为其带来的多存储接口以及多存储引擎的支持也为其吸引了大量的用户和开发者。目前从社区以及我们自己的测试情况来看,Ceph已经具备非常高的可靠性。并且从社区来看,RadosGW和RBD接口已经在生产环境中得到了很好的检验,CephFS接口目前还有待得到生产环境的检验。当前,Ceph社区也非常活跃,并且背靠OpenStack这棵大树,相信Ceph的发展会越原创 2024-04-04 13:31:36 · 1116 阅读 · 0 评论 -
MySQL 索引底层探索:为什么是B+树?
你可能已经知道 B+ 树被用于 MySQL 的Innodb引擎的索引底层实现,那么,为什么是 B+ 树呢?本文由浅及深,探索数据库索引底层实现。原创 2024-04-03 16:42:07 · 1475 阅读 · 0 评论 -
在k8s中部署高可用程序实践和资源治理
Kubernetes 可以提供所需的编排和管理功能,以便您针对这些工作负载大规模部署容器。借助 Kubernetes 编排功能,您可以构建跨多个容器的应用服务、跨集群调度、扩展这些容器,并长期持续管理这些容器的健康状况。有了 Kubernetes,您便可切实采取一些措施来提高 IT 安全性。高可用性(High Availability,HA)是指应用系统无中断运行的能力,通常可通过提高该系统的容错能力来实现。一般情况下,通过设置 replicas 给应用创建多个副本,可以适当提高应用容错能力,但这并不意原创 2024-04-01 22:21:51 · 1483 阅读 · 0 评论 -
Linux 基于HAProxy+KeepAlived实现
高可用(HA-High Avaialbility)广义上理解,可以认为高可用是系统设计的目标,而容灾是达到高可用这一目标的手段。高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。负载均衡(LB-Load Balance)负载均衡用于解决系统流量分发问题。客户端的流量首先会到达负载均衡服务器,由负载均衡服务器通过一定的调度算法将流量分发到不同的应用服务器上面,同时负载均衡服务器也会对应用服务器做周期性的健康检查,原创 2024-03-28 22:04:19 · 968 阅读 · 0 评论 -
Redis高可用架构涉及常用功能整理
Redis是一个开源的内存数据存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据类型,包括字符串、哈希表、列表、集合和有序集合等。它提供了丰富的功能,如数据持久化、事务、复制和发布/订阅等。Redis具有很高的性能和可扩展性,可以处理高并发的读写请求。它通常用于构建高性能的Web应用程序和分布式系统。本文主要探讨redis常见的高可用架构,以及redis常用的功能,便于梳理知识点和技术细节。[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.ne原创 2024-03-26 23:35:53 · 1263 阅读 · 0 评论 -
MongoDB高可用架构涉及常用功能整理
MongoDB是一个开源的文档数据库,适用于构建各种类型的应用程序和用例。它是一种NoSQL数据库,意味着它不依赖关系模型,并且不使用SQL查询语言进行数据操作。MongoDB的特点包括:- 面向文档的数据模型:MongoDB存储的是以JSON风格的文档,可以包含各种类型的数据。文档的结构可以灵活地变化,便于处理复杂的数据。- 高性能:MongoDB使用了一种称为BSON的二进制数据格式,以及一种称为聚集集合的存储引擎,以提供高性能的数据存储和查询操作。- 可扩展性:MongoDB可以通过水平扩展原创 2024-03-24 23:08:23 · 856 阅读 · 0 评论 -
MySQL高可用架构涉及常用功能整理
MySQL是一个开源的关系型数据库管理系统,采用了单一进程、多线程的架构,本文探讨mysql架构以及高可用集群的常规架构模式。由于mysql产品的发展较早,在架构上以主从模式为主,提升相关高可用能力。后续的演化版本中,出现了多主模式的高可用版本,但是本文依然以最常见的主从模式探讨mysql集群的高可用机制。原创 2024-03-24 00:30:48 · 1263 阅读 · 0 评论 -
ETCD跨城容灾与异地多活网络故障的相关表现分析
etcd集群进行分布式设计,并且通过raft协议来进行选leader以及确保数据一致性和高可用能力。本文重点分析在不同网落区之间出现网络中断时,相关的etcd集群的表现,以探究和加强对etcd集群的理解。更多raft协议的理解可以参考 [分布式Raft原理详解,从不同角色视角分析相关状态](https://blog.csdn.net/weixin_43845924/article/details/136817536)原创 2024-03-22 00:08:58 · 1040 阅读 · 0 评论 -
分布式Raft原理详解,从不同角色视角分析相关状态
CAP : 一个分布式系统不可能同时满足一致性 (C: Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中的两项分布式存储架构中,设计共识算法要考虑在一个复制集群中,所有节点按照确认的顺序处理命令,最终结果是在客户端看来,一个复制集群表现的像一个单状态机一样一致。为了保证多个节点顺序一致,需要处理如下问题:- 非拜占庭错误,包含网络延迟,分区,丢包,重复和乱序- 只要多数节点(quorum)原创 2024-03-19 23:43:14 · 1130 阅读 · 0 评论 -
HDFS磁盘写满问题分析
探讨hdfs的datanode节点磁盘被写满的原因分析和相关规避方案。[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.net/weixin_43845924/article/details/135713107)原创 2024-03-18 12:29:11 · 913 阅读 · 0 评论 -
分布式系统常见负载均衡实现模式
负载均衡是指将网络流量分发到不同的服务器上,以实现资源的均衡利用和提高系统的性能、可靠性和可扩展性。本文整理负载均衡常见的需求以及设计模式,便于后续读者更好的理解负载均衡的相关原理。原创 2024-03-15 22:30:45 · 943 阅读 · 0 评论 -
k8s的pod和svc相互访问时网络链路解析
在常用的k8s环境中,通常会面临同机器pod的相互访问、跨机器之间的pod访问以及通过svc访问相互,这几种模式下,k8s底层网络的访问规则不同。本文希望针对这几种场景下的流量访问链路和访问规则,从而探索k8s针对网络层面的设计逻辑。k8s层面svc访问的详细规则可以参考[k8s的svc流量通过iptables和ipvs转发到pod的流程解析](https://blog.csdn.net/weixin_43845924/article/details/136232099)原创 2024-03-12 23:49:13 · 1355 阅读 · 1 评论 -
跨城容灾与异地多活常见的架构设计
现如今,我们开发一个软件系统,对其要求越来越高,如果你了解一些「架构设计」的要求,就知道一个好的软件架构应该遵循以下 3 个原则:- 高性能- 高可用- 易扩展其中,高性能意味着系统拥有更大流量的处理能力,更低的响应延迟。例如 1 秒可处理 10W 并发请求,接口响应时间 5 ms 等等。易扩展表示系统在迭代新功能时,能以最小的代价去扩展,系统遇到流量压力时,可以在不改动代码的前提下,去扩容系统。在此背景下,我调研并对比了几种不同的部署方案,看哪种方案在我们的业务场景下最能够满足异地多活以原创 2024-03-12 00:04:31 · 982 阅读 · 0 评论 -
k8s的svc流量通过iptables和ipvs转发到pod的流程解析
在常用的k8s环境中,通常会通过iptables将流量进行负载均衡、snat、dnat等操作,从而流量转发到pod或者外部的服务。本文重点介绍iptables是如何进行流量转发的以及相关转发的iptables解析。原创 2024-02-23 23:58:32 · 1446 阅读 · 1 评论 -
RabbitMQ监控方法以及核心指标
探讨rabbitmq的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。原创 2024-02-19 13:11:53 · 2074 阅读 · 1 评论 -
RabbitMQ鉴权设计以及相关探讨
鉴权,分别由**鉴**和**权**组成- **鉴**: 表示身份认证,认证相关用户是否存在以及相关的用户名和密码是否一致- **权**: 完成身份的**鉴**后,还需要判断用户是否有相关操作的权限。因此对于某一个用户来说,通常情况下,需要完成**鉴**和**权**才能够满足一个完整的业务场景,因此通常将**鉴权**放在一起考量。本文探讨rabbitmq的鉴权常用的鉴权方式以及相关鉴权设计方式。原创 2024-02-19 00:58:00 · 1205 阅读 · 1 评论 -
RabbitMQ节点故障的容错方案
本文主要探讨rabbitmq集群镜像模式的高可用容错方案和容错能力的探讨。在出现单机故障时相关的容错方案。更多关于分布式系统的架构思考请参考文档[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.net/weixin_43845924/article/details/135713107)原创 2024-02-18 13:53:21 · 1170 阅读 · 0 评论 -
RabbitMQ高可用架构涉及常用功能整理
探讨rabbitmq的系统架构以及以及整体常用的命令和系统分析,本文主要探讨高可用版本的rabbitmq集群,并基于日常工作中的沉淀进行思考和整理。更多关于分布式系统的架构思考请参考文档[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.net/weixin_43845924/article/details/135713107)原创 2024-02-07 23:24:53 · 1786 阅读 · 0 评论 -
ES鉴权设计以及相关探讨
鉴权,分别由**鉴**和**权**组成- **鉴**: 表示身份认证,认证相关用户是否存在以及相关的用户名和密码是否一致- **权**: 完成身份的**鉴**后,还需要判断用户是否有相关操作的权限。因此对于某一个用户来说,通常情况下,需要完成**鉴**和**权**才能够满足一个完整的业务场景,因此通常将**鉴权**放在一起考量。本文探讨es的鉴权常用的鉴权方式以及相关鉴权设计方式。原创 2024-02-07 00:04:11 · 1549 阅读 · 0 评论 -
ES监控方法以及核心指标
探讨es的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。原创 2024-02-06 23:14:41 · 1523 阅读 · 0 评论 -
KAFKA鉴权设计以及相关探讨
鉴权,分别由**鉴**和**权**组成- **鉴**: 表示身份认证,认证相关用户是否存在以及相关的用户名和密码是否一致- **权**: 完成身份的**鉴**后,还需要判断用户是否有相关操作的权限。因此对于某一个用户来说,通常情况下,需要完成**鉴**和**权**才能够满足一个完整的业务场景,因此通常将**鉴权**放在一起考量。本文探讨kafka的鉴权常用的鉴权方式以及相关鉴权设计方式。原创 2024-01-31 22:28:08 · 1446 阅读 · 0 评论 -
KAFKA监控方法以及核心指标
探讨kafka的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。原创 2024-01-31 14:58:36 · 1986 阅读 · 0 评论 -
KAFKA节点故障的容错方案
本文主要探讨kafka集群的高可用容错方案和容错能力的探讨。在出现单机故障时相关的容错方案。更多关于分布式系统的架构思考请参考文档[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.net/weixin_43845924/article/details/135713107)原创 2024-01-30 23:24:19 · 1231 阅读 · 0 评论 -
KAFKA高可用架构涉及常用功能整理
探讨kafka的系统架构以及以及整体常用的命令和系统分析,本文主要探讨高可用版本的kafka集群,并基于日常工作中的沉淀进行思考和整理。更多关于分布式系统的架构思考请参考文档[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.net/weixin_43845924/article/details/135713107)原创 2024-01-30 19:40:48 · 1671 阅读 · 0 评论 -
ZK性能压力是否过大的判断方法以及相关核心指标
zk服务端的基础指标没有发现明显异常,但是客户端时不时出现超时现象,由于部分客户端处理逻辑很简单,只是单存的读写zk,如果读写超时则断开相关链接,因此面临客户端和服务端之间的极限拉扯。对于生产环境中,如何判断一个zk集群压力,是否到达性能瓶颈,是一个重要的课题,本文探讨如何分析和判断zk集群是否压力过大,以及相关的指标。原创 2024-01-29 17:25:40 · 925 阅读 · 0 评论 -
ZK和ETCD的产品对比和差异
探讨zk和etcd的底层实现以及客户端使用上的差异。更多关于分布式系统的架构思考请参考文档[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.net/weixin_43845924/article/details/135713107)原创 2024-01-29 13:16:52 · 799 阅读 · 0 评论 -
ETCD监控方法以及核心指标
探讨etcd的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。原创 2024-01-28 12:28:17 · 1295 阅读 · 0 评论 -
ETCD节点故障的容错方案
本文主要探讨etcd集群的高可用容错方案和容错能力的探讨。在出现单机故障时相关的容错方案,如果故障的节点是Leader,重新选择Leader的选主逻辑,以及集群的恢复方案。由于单节点已经保存保存了所有数据,因此集群出现节点异常时,只需要重新选举出Leader即可,不需要进行数据迁移、副本备份等操作。更多关于分布式系统的架构思考请参考文档[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.net/weixin_43845924/article/details/135713原创 2024-01-28 11:35:55 · 1375 阅读 · 0 评论 -
ETCD高可用架构涉及常用功能整理
探讨etcd的系统架构以及以及整体常用的命令和系统分析,本文主要探讨高可用版本的etcd集群,并基于日常工作中的沉淀进行思考和整理。更多关于分布式系统的架构思考请参考文档[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.net/weixin_43845924/article/details/135713107)原创 2024-01-27 23:32:32 · 1406 阅读 · 0 评论 -
ZK鉴权设计以及相关探讨
鉴权,分别由**鉴**和**权**组成- **鉴**: 表示身份认证,认证相关用户是否存在以及相关的用户名和密码是否一致- **权**: 完成身份的**鉴**后,还需要判断用户是否有相关操作的权限。因此对于某一个用户来说,通常情况下,需要完成**鉴**和**权**才能够满足一个完整的业务场景,因此通常将**鉴权**放在一起考量。本文探讨zk的鉴权常用的鉴权方式以及相关鉴权设计方式。原创 2024-01-27 11:34:10 · 1019 阅读 · 0 评论 -
HDFS的standby节点启动过慢原因分析以及应对策略
在hdfs的nn重启过程时,以standby的方式进行启动,其中当前节点的fsimage和active节点的editlog数量对启动时间起到关键性的影响。本问题探讨hdfs的active节点正常,当standby节点重启时重启过慢的原因分析以及应对的策略。原创 2024-01-27 09:00:00 · 1187 阅读 · 0 评论 -
ZK关于zk2单点故障导致集群无法选主的问题分析
探讨3节点zk集群中,zk2(leader)节点宕机后,集群无法选主的问题分析,以及避免相关问题的实践。原创 2024-01-26 10:30:00 · 1050 阅读 · 0 评论 -
ZK监控方法以及核心指标
探讨zk的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。原创 2024-01-25 23:32:53 · 735 阅读 · 0 评论 -
ZK节点故障的容错方案
本文主要探讨zk集群的高可用容错方案和容错能力的探讨。在出现单机故障时相关的容错方案,如果故障的节点是Leader,重新选择Leader的选主逻辑,以及集群的恢复方案。更多关于分布式系统的架构思考请参考文档[关于常见分布式组件高可用设计原理的理解和思考](https://blog.csDN.net/weixin_43845924/article/details/135713107)原创 2024-01-24 23:34:01 · 788 阅读 · 0 评论