10 2023 档案

算法【ZAB 优先级的民主投票】
摘要:一、简介 ZAB(ZooKeeper Atomic Broadcast)算法是ZooKeeper为实现分布式协调而设计的,它是对Raft选主算法的一种改进,在拥有投票选举的维度下增加节点ID以及数据ID(数据的最新值)为参考。 二、说明 2.1、ZAB算法有3种角色: Leader:主节点 Obse 阅读全文

posted @ 2023-10-31 17:13 木乃伊人 阅读(88) 评论(0) 推荐(0) 编辑

算法【Raft 投票】
摘要:一、简介 Raft算法属于典型的多数派选主算法,谁获得的票数最多,谁就可以成为主节点。 二、说明 Raft算法选主中集群各个节点的角色有3种: Leader:主节点,同一时刻只有一个Leader节点,负责整个集群的节点间的协调和管理。 Candidate: 候选节点,只有角色为候选者的节点才可以被选 阅读全文

posted @ 2023-10-31 17:02 木乃伊人 阅读(200) 评论(0) 推荐(0) 编辑

算法【bully 霸道算法】
摘要:一、简介 bully算法,也叫霸道算法。遵循谁拳头大谁当老大原则,即集群中节点ID值最大的那个则会被选为主节点。 二、说明 bully算法在选主过程中,会涉及到以下三种消息: bully算法底层选主流程图: 【触发选主时机】 2.1、错误节点恢复。 2.2、检测到master节点发生故障,如上图: 阅读全文

posted @ 2023-10-31 16:53 木乃伊人 阅读(159) 评论(0) 推荐(0) 编辑

NOSql【ElasticSearch】
摘要:一、简介 ES是有Apache开源的一个兼有搜索引擎和Nosql数据库功能的系统。 特点如下: 基于java/Lucence构建,支持全文搜索、结构化搜索。 低延迟,支持实时搜索。 分布式部署,可横向集群扩展。 支持百万级数据。 支持多条件复杂查询,如聚合查询。 高可用性,数据可以进行切片备份 支持 阅读全文

posted @ 2023-10-31 16:35 木乃伊人 阅读(45) 评论(0) 推荐(0) 编辑

数据库【分库分表】
摘要:一、场景 由于用户数量越来越大会出现以下问题: 订单量剧增,单表数据量已经达到了千万的级别了,这个时候的索引查询已经很慢了,所以现在我们的类似这些大数据表的查询性能很差。 数据量持续增加,现在我们的磁盘大部分空间都被使用,导致数据库的复制备份操作很缓慢,所以,目前数据库系统已不能满足现在的数据量级。 阅读全文

posted @ 2023-10-30 17:20 木乃伊人 阅读(40) 评论(0) 推荐(0) 编辑

数据库【读写分离】
摘要:一、业务场景 一般在业务读多写少的场景,我们为了解决数据库IO瓶颈,可以考虑采用数据库读写分离,将写请求和读请求进行分开数据处理。 注意:主从不是主备。主从中的从服务器是要承担业务的,主备中备用服务器一般只做备份存在。 二、架构 一主多从的结构如下: 其中有个关键技术:主从复制。每次写入数据的时候, 阅读全文

posted @ 2023-10-30 15:28 木乃伊人 阅读(50) 评论(0) 推荐(0) 编辑

分布式系统【秒杀系统设计】
摘要:一、场景 秒杀活动属于临时高并发写请求,在活动即将开始之前,面临的是高并发的读请求,因为客户会疯狂刷新活动页面了解内容。 二、问题 2.1、超卖 假如库存只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低,如果超卖将严重影响公司的财产利益,因此首当其冲的就是解决商品的超卖问题。今晚超 阅读全文

posted @ 2023-10-30 10:08 木乃伊人 阅读(76) 评论(0) 推荐(0) 编辑

分布式【缓存】
摘要:一、简介 分布式缓存:在分布式环境或系统下,把一些热门数据存储到离用户近、离应用近的位置,并尽量存储到更快的设备,以减少远程数据传输的延迟,让用户和应用可以很快访问到想要的数据。 二、Redis持久化 RDB、AOF 三、Redis主从 四、Memcached分布式缓存原理 redis 的集群结构是 阅读全文

posted @ 2023-10-27 17:30 木乃伊人 阅读(14) 评论(0) 推荐(0) 编辑

分布式【分布式事务】
摘要:一、事务 事务实现应该具备原子性、一致性、隔离性和持久性。即ACID。 原子性(Atomicity),可以理解为一个事务内的所有操作要么都执行,要么都不执行。 一致性(Consistency),可以理解为数据是满足完整性约束的,也就是不会存在中间状态的数据,比如你账上有400,我账上有100,你给我 阅读全文

posted @ 2023-10-27 17:12 木乃伊人 阅读(15) 评论(0) 推荐(0) 编辑

Redis【HotKey问题】
摘要:一、简介 Redis单个实例,突然出现大量请求访问该HotKey,导致流量过于集中,达到Redis单实例处理阈值,从而导致RedisCPU使用率100%,或者网卡流量达到上限等。影响系统稳定性,更严重将导致服务器宕机。 对于Redis单实例,业界认为理论极限OPS为10W左右,实际可能根据实际情况有 阅读全文

posted @ 2023-10-27 16:28 木乃伊人 阅读(119) 评论(0) 推荐(0) 编辑

Redis【BigKey问题】
摘要:一、简介 Redis在使用过程中,可能会遇到Big Key问题,即Redis中某个key的value过大,所以Big Key问题本质是Big Value问题,导致Redis的性能下降或者崩溃。 二、Big Key问题 Redis是一款内存数据库。需要将大key全部加载到内存中,这会占用大量的内存空间 阅读全文

posted @ 2023-10-27 15:57 木乃伊人 阅读(220) 评论(0) 推荐(0) 编辑

算法
摘要:一、递归算法 二、排序算法 三、冒泡排序, 四、选择排序 阅读全文

posted @ 2023-10-27 15:18 木乃伊人 阅读(6) 评论(0) 推荐(0) 编辑

ElasticSearch
摘要:一、简介 简称 ES,开源高扩展分布式全文检索引擎。可以近乎实时存储,检索数据。扩展性良好,可扩展数百台服务器,处理PB级别的数据。 ES也使用Java开发并使用Lucene作为核心来实现所有索引和搜索的功能,但是它的目的是通过简单的Restful Api来隐藏Lucene的复杂性,从而让全文搜索变 阅读全文

posted @ 2023-10-27 15:13 木乃伊人 阅读(9) 评论(0) 推荐(0) 编辑

Redis【二、常用命令】
摘要:一、相关工具 ./redis-benchmark #用于进行redis性能测试的工具 ./redis-cli #redis的客户端 ./redis-server #redis的服务端 ./redis-check-rdb #用于修复出问题的dump.rdb文件 ./redis-check-aof #用 阅读全文

posted @ 2023-10-27 15:09 木乃伊人 阅读(5) 评论(0) 推荐(0) 编辑

RPC【幂等性】
摘要:一、定义 幂等性:一次操作与多次操作产生的结果相同。 二、业务场景 RPC场景中,因为重试机制或者没有实现幂等性而导致重复数据问题,需要引起重视。比如,可能会导致一次购买,创建多笔订单,一条通知信息被发送多次等问题。 调用失败时程序没有显示重试,按理不会产生重复数据的问题,但是RPC框架在集群容错机 阅读全文

posted @ 2023-10-27 15:02 木乃伊人 阅读(104) 评论(0) 推荐(0) 编辑

数据库【整理】
摘要:一、聚集索引与非聚集索引 索引就是二叉树,数据真实存储在叶子节点,非叶子节点存储的事引用。Mysql使用的事B+Tree 聚集索引是包含所有列的物理存储连续,所以很庞大,新插入数据主要耗时在物理排序上面,所以相对较慢。非聚集索引只有当前列和主键列的数据,而且物理路径不连续,不用排序,所以插入较快。同 阅读全文

posted @ 2023-10-27 14:11 木乃伊人 阅读(15) 评论(0) 推荐(0) 编辑

MQ--二
摘要:一、作用 MQ作用很简单,就是削峰填谷。 使用MQ之后我们的链路变简单了,同事异步发送消息我们的整个系统的抗压能力也上升了。 二、性能对比 三、消息可靠性保证 消息丢失可能发生在生产者发送消息、MQ本身丢失消息、消费者丢失消息3个方面。 【生产者丢失】 生产者丢失消息的可能点在于程序发送失败抛异常了 阅读全文

posted @ 2023-10-25 15:53 木乃伊人 阅读(10) 评论(0) 推荐(0) 编辑

算法-共识算法
摘要:一、Paxos 基础的Paxos算法包括如下三种:Basic Paxos、Multi Paxos、Fast Paxos Paxos将系统中的角色分为提议者 (Proposer),决策者 (Acceptor),和最终决策学习者 (Learner): 【Proposer】:提出提案(Proposal)。 阅读全文

posted @ 2023-10-23 17:20 木乃伊人 阅读(41) 评论(0) 推荐(0) 编辑

架构设计--基础
摘要:1、Redis是否可以实现分布式锁? 思路:Redis一般使用setnx方法,通过Redis实现锁和超时时间来控制锁的失效时间。当主节点挂掉,极端情况下,当Redis主节点挂掉,但锁还没有同步到从节点,根据哨兵机制,从节点被选举为主节点,继续提供服务,其他线程就会请求锁,出现两个线程同时拿到锁的情况 阅读全文

posted @ 2023-10-17 10:22 木乃伊人 阅读(6) 评论(0) 推荐(0) 编辑

算法--hash取模
摘要:一、简介 hash算法常用于分布式缓存集群系统。一般3种:普通hash,一致性hash,hash槽。 场景:用户注册系统,用户数量会不断的增大,需要几个服务器共同存储。 二、普通hash算法 1、创建4个服务器【canister】,然后对注册的用户id hash取模。 2、使用这种hash取模数算法 阅读全文

posted @ 2023-10-17 10:04 木乃伊人 阅读(415) 评论(0) 推荐(0) 编辑

算法--雪花算法
摘要:一、简介 雪花算法【Snowflake】是一种分布式唯一ID生成算法。能够生成唯一的,有序列的,高可用的ID,常用于分布式系统中作为全局唯一标识符【GUID】。雪花算法生成的ID是一个64位的整数,其中高位是时间戳,中间位是机器ID,低位是序列号。 二、组成 1、1位符号位:0表示正数,1表示负数( 阅读全文

posted @ 2023-10-16 15:55 木乃伊人 阅读(872) 评论(0) 推荐(0) 编辑

TPS、QPS、CPS概念
摘要:一、TPS TPS【TransactionPerSecond】,事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,以此来计算使用的时间和完成的事务个数。 二、QPS QPS【Queries Per Second】,每秒 阅读全文

posted @ 2023-10-16 10:24 木乃伊人 阅读(1409) 评论(0) 推荐(1) 编辑

分布式【分布式锁】
摘要:一、简介 满足分布式系统或者集群模式下多进程课件并且互斥的锁。 二、说明 【可见性】:多个线程都能看到相同的结果,注意:这个地方说的可见性并不是并发编程中指的内存可见 性,只是说多个进程之间都能感知到变化的意思。 【互斥】:互斥是分布式锁的最基本的条件,使得程序串行执行。 【高可用】:程序不易崩溃, 阅读全文

posted @ 2023-10-13 17:32 木乃伊人 阅读(14) 评论(0) 推荐(0) 编辑

分布式--Base理论
摘要:一、定义 BASE 是 Basically Available(基本可用)、Soft-state(软状态) 和 Eventually Consistent(最终一致性) 二、简介 BASE理论本质上是对CAP的延伸和补充,是对CAP中的AP方案的一个补充,即在选择AP方案的情况下,如何更好地最终达到 阅读全文

posted @ 2023-10-13 16:27 木乃伊人 阅读(76) 评论(0) 推荐(0) 编辑

Docker的安装与使用
摘要:一、查看Linux内核与版本 空的服务器需要查看Linux内核与版本,我这里使用的是centos 7.9。Docker需要运行在Centos 7 上要求系统64位,系统内核版本为3.10以上。 1、查看系统内核 uname -a 2、查看系统版本 cat /etc/centos-release 二、 阅读全文

posted @ 2023-10-10 17:25 木乃伊人 阅读(215) 评论(0) 推荐(0) 编辑

Liunx安装SQLServer
摘要:一、分步骤安装 【1、安装sql server】 --1、下载存储库配置文件sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.r 阅读全文

posted @ 2023-10-10 11:23 木乃伊人 阅读(220) 评论(0) 推荐(0) 编辑

Linux--防火墙
摘要:一、前言 很多时候在配置Linux系统程序的时候需要指定端口,在进行设置时会有报错:firewalld is not running,即防火墙没有开启。 二。解决办法 开启防火墙 2.1、检查防火墙状态 命令:systemctl status firewalld 发现当前状态是dead状态,即防火墙 阅读全文

posted @ 2023-10-10 10:40 木乃伊人 阅读(150) 评论(0) 推荐(0) 编辑

Centos 7安装Docker
摘要:一、安装 1、安装 yum 包 sudo yum -y update 2、安装所需软件包 sudo yum install -y yum-utils 3、添加镜像,这里用的阿里云镜像 sudo yum-config-manager --add-repo https://download.docker 阅读全文

posted @ 2023-10-08 16:18 木乃伊人 阅读(1373) 评论(0) 推荐(0) 编辑

Docker安装报错处理
摘要:一、安装Docker报错公钥尚未安装 【解决办法】: 1、查看系统版本信息 cat /etc/redhat-release 2、从开源镜像站 mirrors.163.com 找到系统对应秘钥 3、导入秘钥 rpm --import http://mirrors.163.com/centos/RPM- 阅读全文

posted @ 2023-10-08 10:58 木乃伊人 阅读(218) 评论(0) 推荐(0) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示