上一页 1 2 3 4 5 6 7 8 ··· 18 下一页
摘要: 一、认识 Kafka Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。 Kafka 是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 1. kafka 架构 Kafka 的整体架构非常简单,是显式 阅读全文
posted @ 2020-11-30 09:42 JMCui 阅读(3140) 评论(1) 推荐(2) 编辑
摘要: 一、读写分离概述 基本架构图: 二、适用场景 读写分离不是银弹,并不是一有性能问题就上读写分离,而是应该先优化,例如优化慢查询,调整不合理的业务逻辑,引入缓存查询等只有确定系统没有优化空间后才考虑读写分离集群。 三、引入的系统复杂度问题 1. 主从复制延迟 2. 分配机制 如何将读写操作区分开来,然 阅读全文
posted @ 2020-11-23 14:51 JMCui 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 一、Elasticsearch 简介 你可以这么形容 Elasticsearch : 一个分布式的实时文档存储,每个字段都可以被索引与搜索 一个分布式近实时分析搜索引擎 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据 Elasticsearch 是一个实时分布式搜索和分析引擎 阅读全文
posted @ 2020-11-08 14:45 JMCui 阅读(1626) 评论(0) 推荐(1) 编辑
摘要: 一、 为什么 Redis 那么快? Redis 是基于内存的单进程单线程模型的 KV 数据库,由 C 语言编写,官方提供的数据是可以达到 100000+ QPS。 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速; 数据结构简单,对数据操作也简单,Redis 中的数据结构是专门进行设计的; 采用 阅读全文
posted @ 2020-11-04 22:05 JMCui 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 一、慢查询 因为 Redis 是单线程的,大量的慢查询可能会导致 redis-server 阻塞,可以通过 slowlog get n 获取慢日志,查看详情情况。 二、bigkey 大对象 bigkey 大对象可能会导致的问题包括: 内存空间不均匀(平衡),例如在 Redis Cluster 中,b 阅读全文
posted @ 2020-11-04 18:30 JMCui 阅读(4517) 评论(0) 推荐(3) 编辑
摘要: 减少分配率 这个几乎不用解释,减少了内存的使用量,自然就减少 GC 回收时的压力,同时降低了内存碎片与 CPU 的使用量。在设计对象时,应仔细检查并问自己: 我真的需要这个对象吗? 这个字段是我需要的吗? 我能减少数组的尺寸吗? 这些对象,是否只有在极少数情况下,或者只有初始化的时候才用到? 我是否 阅读全文
posted @ 2020-11-03 14:41 JMCui 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 一、为什么需要全文索引? 通过 前面的文章 我们了解到 B+ 树索引具有"最左前缀匹配"的特性,因此,对于以下查询 B+ 树索引能很好的适配。 SELECT * FROM blog WHERE content like 'xxx%' 但是 B+ 树索引对于 '%xxx%' 式的匹配却显得无能为力,而 阅读全文
posted @ 2020-08-20 09:18 JMCui 阅读(783) 评论(0) 推荐(1) 编辑
摘要: 一、B+树索引概述 索引是应用程序设计和开发的一个重要方面。若索引太多,应用程序的性能可能会受到影响(需维护索引的结构和数据);而索引太少,对查询性能又会产生影响。 二叉树,左子树的键值总是小于根的键值,右子树的键值总是大于根的键值。 平衡二叉树(AVL树),任何节点的两个子树的高度最大差为 1。平 阅读全文
posted @ 2020-08-13 09:25 JMCui 阅读(1668) 评论(0) 推荐(1) 编辑
摘要: 引入 MRR,全称「Multi-Range Read Optimization」。 简单说:MRR 通过把「随机磁盘读」,转化为「顺序磁盘读」,从而提高了索引查询的性能。 至于: 为什么要把随机读转化为顺序读? 怎么转化的? 为什么顺序读就能提升读取性能? 执行一个范围查询: mysql > exp 阅读全文
posted @ 2020-08-12 09:50 JMCui 阅读(1118) 评论(1) 推荐(1) 编辑
摘要: MySQL 数据库在 5.1 版本时添加了对分区(partitioning)的支持。分区的过程是将一个表或索引分解成多个更小、更可管理的部分。就访问数据库的应用而言,从逻辑上来讲,只有一个表或一个索引,但是在物理上这个表或索引可能由数十个物理分区组成。 MySQL 分区功能并不是在存储引擎层完成的, 阅读全文
posted @ 2020-07-31 13:20 JMCui 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 一、InnoDB 体系架构 InnoDB 存储引擎有多个内存块,可以认为这些内存块组成了一个大的内存池,负责如下工作: 维护所有进程/线程需要访问的多个内部数据结构。 缓存磁盘上的数据,方便快速的读取,同时对磁盘文件的数据修改之前在这里进行缓存。 重做日志(redo log)缓冲。 后台线程的主要作 阅读全文
posted @ 2020-07-15 10:48 JMCui 阅读(321) 评论(0) 推荐(0) 编辑
摘要: BASIC 认证 BASIC 认证(基本认证)是从 HTTP/1.0 就定义的认证方式。 BASIC 认证会将“用户名:密码”经过 Base64 加密后放入请求头部的 Authorization 字段用于服务端校验,因为采用的是 Base64 加密,密码被盗用的风险极高,另外一般的浏览器也无法实现认 阅读全文
posted @ 2020-07-05 07:55 JMCui 阅读(608) 评论(0) 推荐(1) 编辑
摘要: 一、前言 HTTP 协议具有无状态、不连接、尽最大努力的特点,对于 Web 网站的攻击基本也是针对 HTTP 协议的这些特点进行的。比如无状态的特点,就要求开发者需要自行设计开发"认证"和"会话管理"功能来满足 Web 应用的安全,而形形色色的自行实现,也为用户会话劫持、SQL 注入等攻击埋下了风险 阅读全文
posted @ 2020-06-30 18:03 JMCui 阅读(3169) 评论(1) 推荐(10) 编辑
摘要: 随着智能化互联时代的来临,家中的智能设备越来越多:电视机、平板、游戏主机、电脑、手机等遍及家中各个角落,同时设备之间共享数据的需求变的越来越强烈。比如同步、备份手机上的照片和视频,在电视机上观看电脑中下载的影片、手机拍摄的视频,存储高清电影、音乐、VLOG 素材等。这时候在家中搭建一台 NAS(Ne 阅读全文
posted @ 2020-06-24 17:45 JMCui 阅读(33978) 评论(4) 推荐(4) 编辑
摘要: 前言: 网上聊 HTTPS 的文章已经数都数不过来了吧,厚着脸皮,整理下读书笔记,结合平常项目的实践,也来聊聊 HTTPS。 ##一、为什么需要 HTTPS? 众所周知,HTTP 协议具有无连接、不可靠、尽最大努力的特点,这也为 HTPP 协议带来信息窃听或身份伪装等安全问题。主要体现在几个方面: 阅读全文
posted @ 2020-06-22 22:49 JMCui 阅读(645) 评论(1) 推荐(3) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 18 下一页