自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 我的架构梦:(六十二) 分布式缓存 Redis 之底层数据结构

分布式缓存 Redis 之底层数据结构一、前言二、RedisDB结构1、id2、dict3、expires三、RedisObject结构1、结构信息概览2、7种type3、10种encoding 一、前言 Redis作为Key-Value存储系统,数据结构如下: Redis没有表的概念,Redis实例所对应的db以编号区分,db本身就是key的命名空间。 比如:user:1000作为key值,表示在user这个命名空间下id为1000的元素,类似于user表的id=1000的行。 二、RedisDB结构

2020-11-22 17:54:42 339

原创 我的架构梦:(六十一) 分布式缓存 Redis 之缓存的读写模式

缓存有三种读写模式 1、Cache Aside Pattern(常用) Cache Aside Pattern(旁路缓存),是最经典的缓存+数据库读写模式。 1.1 读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。 1.2 更新的时候,先更新数据库,然后再删除缓存。 1.3 问题:为什么是删除缓存,而不是更新缓存呢? 缓存的值是一个结构:hash、list,更新数据需要遍历 懒加载,使用的时候才更新缓存 也可以采用异步的方式填充缓存 1.4 高并发脏读

2020-11-22 15:28:45 739

原创 我的架构梦:(六十) Apache Hadoop 核心源码剖析

Apache Hadoop 核心源码剖析一、源码阅读准备二、NameNode 启动流程三、DataNode 启动流程四、NameNode如何支撑高并发访问(双缓冲机制) 一、源码阅读准备 1、下载Apache Hadoop-2.9.2官方源码 之前也有对Spring源码做阅读准备:mac、idea、gradle编译spring源码并搭建阅读源码环境 可以作参考,只不过Spring源码是gradle编译,我们这的Hadoop要用maven编译。 2、将源码导入idea中 启动idea在提示界面选择导入

2020-11-22 14:12:44 411

原创 我的架构梦:(五十九) Apache Hadoop 架构与原理

Apache Hadoop 架构与原理一、Hadoop的重要组成二、HDFS分布式文件系统三、MapReduce编程框架四、YARN资源调度 一、Hadoop的重要组成 Hadoop=HDFS(分布式文件系统)+MapReduce(分布式计算框架)+Yarn(资源协调框架)+Common模块 1、Hadoop HDFS:(Hadoop Distribute File System )一个高可靠、高吞吐量的分布式文件系统 比如:100T数据存储,“分而治之” 分:拆分–》数据切割,100T数据拆分为10G一个

2020-11-19 00:47:21 429 2

原创 Redis使用Lua脚本保证zset的删除和插入的原子性

话不多说 直接上代码!!! @Autowired private StringRedisTemplate stringRedisTemplate; private static final String DELANDZADDSCRIPT = "if redis.call('zcard', KEYS[1]) > 0 then\n" + " redis.call('del', KEYS[1])\n" + " for i, v in pairs(AR

2020-11-13 23:16:40 3121

原创 我的架构梦:(五十八) FastDFS 系统架构和功能原理

FastDFS 系统架构和功能原理一、架构详解二、设计理念三、FastDFS 功能原理四、SpringBoot集成FastDFS实战 一、架构详解 1、storage server 存储服务器(又称存储节点或数据服务器),文件和文件属性(meta data)都保存到存储服务器上。Storage server直接利用OS的文件系统调用管理文件。 Storage server(后简称storage)以组(卷,group或volume)为单位组织,一个group内包含多台 storage机器,数据互为备份,存储

2020-11-09 02:32:16 511 2

原创 我的架构梦:(五十七) MongoDB集群高可用

MongoDB集群高可用一、MongoDB主从复制架构原理和缺陷二、复制集replica sets三、复制集搭建四、分片集群 Shard Cluster 一、MongoDB主从复制架构原理和缺陷 master-slave架构中master节点负责数据的读写,slave没有写入权限只负责读取数据。 在主从结构中,主节点的操作记录成为oplog(operation log)。oplog存储在系统数据库local的 oplog.$main集合中,这个集合的每个文档都代表主节点上执行的一个操作。从服务器会定期从主

2020-11-01 22:45:44 408

原创 我的架构梦:(五十六) MongoDB架构

MongoDB架构一、MongoDB逻辑结构二、MongoDB的数据模型三、MongoDB 存储引擎 一、MongoDB逻辑结构 MongoDB 与 MySQL 中的架构相差不多,底层都使用了可插拔的存储引擎以满足用户的不同需要。用 户可以根据程序的数据特征选择不同的存储引擎,在最新版本的 MongoDB 中使用了 WiredTiger 作为默 认的存储引擎,WiredTiger 提供了不同粒度的并发控制和压缩机制,能够为不同种类的应用提供了最好的性能和存储率。 在存储引擎上层的就是 MongoDB 的数

2020-11-01 18:26:26 426

原创 我的架构梦:(五十五) MongoDB应用场景与实战

一、MongoDB的适用场景 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo 搭建的持久化缓存层可以避免下层的数据源过载。 大尺寸、低价值的数据:使用传统的关系型数据库存储一些大尺寸低价值数据时会比较浪费, 在此之前,很多时候程序员往往会选择传统的文件进行存储。 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库,Mongo 的路线图中已经包

2020-11-01 01:06:50 2135

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除