上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要: 什么是索引 一般的应用系统,都是读多写少。而且插入操作和一般的更新操作很少出现性能问题(因为有redo log锁cache缓存)。在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。索引的核心思想就是加速查询 阅读全文
posted @ 2021-09-02 16:26 daemon365 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 更新语句执行流程 下面是这个表的创建语句,这个表有一个主键 ID 和一个整型字段 c: create table T(ID int primary key, c int); 如果要将 ID=2 这一行的值加 1,SQL 语句就会这么写: update T set c=c+1 where ID=2; 阅读全文
posted @ 2021-09-02 15:29 daemon365 阅读(38) 评论(0) 推荐(0) 编辑
摘要: msyql执行流程 你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时:: select * from T where ID=10; 我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。 下面我给出的是 MySQL 的基本架构示意图,从中你可以 阅读全文
posted @ 2021-09-02 11:42 daemon365 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 网络层次划分 为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了"开放系统互联参考模型",即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构 阅读全文
posted @ 2021-09-01 21:02 daemon365 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 消息队列 本篇文章主要介绍了 RabbitMQ 这种消息队列,从消息队列的概念、应用场景、安装方式到它的核心概念、五种工作模式。在安装的时候推荐使用 Docker 方式进行安装。重点需要理解的就是消息队列的应用场景、核心概念和 RabbitMQ 的五种工作模式,其中用的比较多的就是发布订阅模式、主题 阅读全文
posted @ 2021-08-31 22:47 daemon365 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 令牌桶算法 是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。令牌桶算法的描述如下: 假设限制2r/s,则按照500毫秒的固定速率往桶中添加令牌。 桶中最多存放 b 个令牌,当桶满时,新添加的令牌被丢弃或拒绝。 当一个 n 个字节大小的数据包到达,将从桶中删除n 个令牌,接着数据包被发送到网络 阅读全文
posted @ 2021-08-23 21:01 daemon365 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 前言 在后台服务开发中,高可用性是构建中核心且重要的一环。服务发现(Service discovery)和负载均衡(Load Balance)一直都是我关注的话题。今天来谈一下我在实际中是如何理解及落地的。 负载均衡 && 服务发现 基础 负载均衡 ,顾名思义,是通过某种手段将流量 / 请求分配到不 阅读全文
posted @ 2021-08-23 14:58 daemon365 阅读(1596) 评论(2) 推荐(0) 编辑
摘要: 什么是超时控制? 超时控制,使我们的服务之间调用可以快速抛错。比如API接口设置1s超时API调用A服务用了500ms,服务A调用和服务B用了600ms,n那么现在已经超时,还要调用服务C等等,再返回超时错误吗?这回事使服务C后面的链路做了无用功,浪费服务器资源。 GRPC的截止时间 截止时间以请求 阅读全文
posted @ 2021-08-23 14:55 daemon365 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 什么是隔离? 隔离,本质上是对系统或资源进行分割,从而实现当系统发生故障时能限定传播范围和影响范围,即发生故障后只有出问题的服务不可用,保证其他服务仍然可用。 服务隔离 动静隔离 例如 CDN 小到 CPU 的 cacheline false sharing、数据库 mysql 表设计中避免 buf 阅读全文
posted @ 2021-08-23 14:48 daemon365 阅读(172) 评论(0) 推荐(0) 编辑
摘要: redis主从同步 原理: 从服务器向主服务器发送 SYNC 命令。 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下来执行的所有写命令。 当主服务器执行完 BGSAVE 命令时,它会向从服务器发送 RDB 文件,而从服务器则会接收并载入这个文件。 阅读全文
posted @ 2021-08-22 10:57 daemon365 阅读(119) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页