cartoony

导航

2023年11月7日 #

Redis 的三种部署模式

摘要: 提前叠个 buff:这个文章不涉及图(画起来比较麻烦),只是记录我的胡思乱想。 redis 从单点 -> 集群总共有三个部署模式:单机模式,主从模式,哨兵模式,集群模式 单机模式 新手入门模式。单机模式意味着 Redis 是单点的,部署在一台服务器,挂了就挂了,用在本地测试还可以,但是生产环境就算了 阅读全文

posted @ 2023-11-07 08:46 cartoony 阅读(154) 评论(0) 推荐(0) 编辑

2023年6月10日 #

老话新谈之缓存一致性

摘要: ### 前言 缓存一致性常见的更新策略也比较多,如先更新数据库再更新缓存,先删缓存再更新数据库等等,我在理解的时候有些混乱,所以这个文章提供了一些理解上的技巧去理解缓存一致性。 ### 为什么会有缓存一致性的问题 1. 缓存与数据库是两套中间件,存在网络抖动之类的原因导致没有更新任一方的可能 2. 阅读全文

posted @ 2023-06-10 17:30 cartoony 阅读(21) 评论(0) 推荐(0) 编辑

2023年4月30日 #

kafka 不支持读写分离的原因

摘要: 前段时间在看 kafka 相关内容,发现 kafka “所有的”读写流量都在主 partition 上,从 partition 只负责备份数据。 那么为什么 kafka 从 partition 不跟其他中间件一样承接读流量? 读写分离的初衷 读写分离的初衷我觉得是利用读流量 & 写流量不同的特性做针 阅读全文

posted @ 2023-04-30 16:53 cartoony 阅读(82) 评论(0) 推荐(0) 编辑

2022年11月15日 #

对JVM G1的理解

摘要: NOTICE:本文仅记录本人对 JVM G1 的小小理解,没有详细记录每个点,若有误可指出 内存区域 G1 将堆分为各个 region,大小通过 G1HeapRegionSize 指定 region 分类 按 region 大小分 普通 region,存放大小小于普通 refion 容量的一半的对象 阅读全文

posted @ 2022-11-15 00:44 cartoony 阅读(43) 评论(0) 推荐(0) 编辑

2022年6月6日 #

缓冲更新策略

摘要: 近段时间在学习缓存相关知识的时候,看到了缓存更新策略,于是就根据自己的理解,写下这篇文章 分类 Cache Aside Read / Write Though Write Behind Cache Aside 步骤 读请求未命中缓存,取数据库数据,并回写缓存 写请求先更新数据库,再让缓存失效 优点 阅读全文

posted @ 2022-06-06 22:55 cartoony 阅读(36) 评论(0) 推荐(0) 编辑

2022年5月18日 #

Linux新增swap分区

摘要: 近段时间在服务器搭建中间件,发现物理内存不足,因为对性能要求不高,所以就求助 swap 了。 下面是 ubuntu 的 swap 构建的步骤 新建 swap 文件(/root/swapfile) dd if=/dev/zero of=/root/swapfile bs=1M count=8192 s 阅读全文

posted @ 2022-05-18 22:37 cartoony 阅读(26) 评论(0) 推荐(0) 编辑

2022年3月8日 #

Spring 获取配置的三种方式

摘要: 前言 最近在写框架时遇到需要根据特定配置(可能不存在)加载 bean 的需求,所以就学习了下 Spring 中如何获取配置的几种方式。 Spring 中获取配置的三种方式 通过 @Value 方式动态获取单个配置 通过 @ConfigurationProperties + 前缀方式批量获取配置 通过 阅读全文

posted @ 2022-03-08 00:56 cartoony 阅读(797) 评论(0) 推荐(0) 编辑

2021年2月4日 #

一致性 hash 算法理解与实现

摘要: 前言 近段时间在了解分布式时,经常绕不开一个算法: 一致性哈希算法。于是在了解并实践这个算法后,就有了此文章。 算法间的对比 在分布式分片中,存在着几种算法: 取模,分段,一致性 hash。 取模 分段 一致性哈希 上层是否感知 是 是 否 迁移成本 高 高 低,只涉及相邻节点 单点故障影响 高 高 阅读全文

posted @ 2021-02-04 00:07 cartoony 阅读(247) 评论(0) 推荐(0) 编辑

2020年11月5日 #

easyopen参数无法正常传递现象解析

摘要: 前言 近段时间在使用easyopen时,发现定义的请求体与实际参数不符时会出现参数无法正常传递的现象,于是就把easyopen的源码 clone 下来研究了一波。 easyopen 测试版本 1.16.6.1 场景复现 请求体定义如下 public class GoodsParam { @ApiDo 阅读全文

posted @ 2020-11-05 00:23 cartoony 阅读(282) 评论(0) 推荐(0) 编辑

2020年10月28日 #

Eureka服务端与客户端搭建

摘要: 前言 这段时间在构建自己的开发工具集,避不开的就是各种中间件访问层的搭建。而 spring cloud 唯二绕不开的就是 eureka 了,所以就重复造轮子,以后忘记了也有所参考。 正文 前期准备 maven/gradle eureka 服务器搭建 新建 spring boot 空项目 这一步其实是 阅读全文

posted @ 2020-10-28 23:12 cartoony 阅读(116) 评论(0) 推荐(0) 编辑