
分布式技术专题
文章平均质量分 96
分布式技术专题
技术路上的苦行僧
不怕别人天赋比你高,就怕别人比你更努力
展开
-
分布式专题(11)之Zookeeper特性与节点数据类型详解
Zookeeper数据模型与结构与Unix文件系统很类似,整体上可以看做是一棵树,每个节点称做一个ZNode。Zookeeper的数据模型是层次模型,层次模型常见于文件系统。Zookeeper的层次模型称做Data Tree,Data Tree的每个节点叫做ZNode。不同于文件系统,每个节点都可以保存数据,每个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径的唯一标记,每个节点都有一个版本(Version),版本从0开始计数;原创 2025-01-03 11:03:48 · 1236 阅读 · 0 评论 -
分布式专题(10)之ShardingSphere分库分表实战指南
在之前的示例中就介绍了ShardingSphere提供的MOD、HASH-MOD这样的简单内置分片策略,standard、complex、hint三种典型的分片策略以及CLASS_BASED这种扩展分片策略的方法。为什么要有这么多的分片策略,其实就是以为分库分表面临的业务场景其实是很复杂的。即便是ShardingSphere,也无法真的像MySQL、Oracle这样的数据库产品一样,完美的兼容所有的SQL语句。原创 2024-12-24 11:39:31 · 1386 阅读 · 0 评论 -
分布式专题(9)之Mysql高可用方案
数据库,应该是一个应用当中最为核心的价值所在,也是开发过程中必须熟练掌握的工具。之前我们就学习过很多对MySQL的调优。但是随着现在互联网应用越来越大,数据库会频繁的成为整个应用的性能瓶颈。我们经常使用的MySQL数据库,也就不断面临数据量太大、数据访问太频繁、数据读写速度太快等一系列的问题。而传统的这些调优方式,在真正面对海量数据冲击时,往往就会显得很无力。因此,现在互联网对于数据库的使用也越来越小心谨慎。例如添加Redis缓存、增加MQ进行流量削峰等。原创 2024-12-23 20:26:29 · 1648 阅读 · 0 评论 -
分布式专题(4)之MongoDB快速实战与基本原理
MongoDB是一个文档数据库(以JSON为数据模型),由C++语言编写,旨在为WEB应用提供可扩展的高性能存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,数据格式是BSON,一种类似JSON的二进制形式的存储格式,简称Binary JSON,和JSON一样支持内嵌的文档对象和数组对象,因此可以存储比较复杂的数据类型。原创 2024-12-12 20:38:54 · 1163 阅读 · 0 评论 -
分布式专题(3)之Redis缓存设计与性能优化
缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。造成缓存穿透的基本原因有两个:第一, 自身业务代码或者数据出现问题。第二, 一些恶意攻击、 爬虫等造成大量空命中。原创 2024-12-11 17:47:08 · 717 阅读 · 0 评论 -
分布式专题(2)之Redis缓存高可用集群
在redis3.0之前的版本有实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用各方面表现一般,特别是在主从切换的瞬间访问中断的情况,而且哨兵模式只有一个主节点对外提供服务,没发支持很高的并发,且单个节点内存也不宜设置过大,否则会导致持久化文件过大,影响数据恢复或主从同步频率。原创 2024-12-10 14:20:03 · 955 阅读 · 0 评论 -
分布式专题(1)之Redis持久化、主从与哨兵架构详解
在默认的情况下,Redis将内存数据快照保存名字为:dump.rdb的二进制文件中,当然你在配置文件redis.conf中修改对应的二进制文件名。redis开启RDB快照,可以在redis中设置,如:让它在N秒内至少有多少个改动这一条件满足时,就自动保存一次快照数据。例如:比如说, 以下设置会让 Redis 在满足“ 60 秒内有至少有 1000 个键被改动”这一条件时, 自动保存一次数据集:save 60 1000 //关闭RDB只需要将所有的save保存策略注释掉即可。原创 2024-12-09 20:19:46 · 1233 阅读 · 0 评论