2022年9月23日

Redis cluster 学习笔记

摘要: Redis Cluster(集群) redis cluster是redis官方发布的集群解决方案,用于解决redis单机情况下,数据量太大可能导致的各种问题(如备份文件过大等)。redis cluster是去中心化的,每个节点负责整个集群的一部分数据,通过信息交换来获取彼此的数据信息。 数据存储 r 阅读全文

posted @ 2022-09-23 17:57 阿姆斯特朗回旋炮 阅读(133) 评论(0) 推荐(0) 编辑

2022年7月14日

Redis的穿透、击穿、雪崩

摘要: 缓存穿透 在日常开发中,对redis的常见的一种使用方式,如下图所示。在用户访问数据的时候,会先查询redis中是否存在对应数据的缓存,当缓存不存在的时候,就直接查询关系型数据库如mysql。查询到了对应的数据再保存到redis里。因此如果有大量请求,查询在缓存中不存在的数据,就会将大量的请求发送到 阅读全文

posted @ 2022-07-14 20:27 阿姆斯特朗回旋炮 阅读(309) 评论(0) 推荐(0) 编辑

2022年6月1日

Redis Sentinel 学习笔记

摘要: redis缓存在我们的日常编码中经常会使用到,几乎是不可或缺的一环。但如果线上的redis主服务器挂了怎么办,等待项目监控报警然让运维同学切换主备服务器来解决这个问题?当然可以,最好是把监控和主从服务器切换实现自动化,就能实现快速响应,也能减少人工的介入。redis实现了该功能,就是redis se 阅读全文

posted @ 2022-06-01 18:30 阿姆斯特朗回旋炮 阅读(92) 评论(0) 推荐(0) 编辑

2021年12月14日

HTTPS学习笔记

摘要: 什么是HTTPS 说HTTPS之前,可以先讲一下HTTP,HTTP是超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一个基于TCP协议,工作在应用层的协议,是万维网(www)的通信基础。然而HTTP并不安全,HTTP通信过程,数据全部通过明文传输,因此 阅读全文

posted @ 2021-12-14 20:05 阿姆斯特朗回旋炮 阅读(107) 评论(0) 推荐(0) 编辑

2021年12月1日

JVM调优案例

摘要: 案例1(xmx与xms不一致导致的问题) 某天项目机器进行迁移后频繁发生FullGC报警,查询内存信息和启动参数 启动参数:-XX:MetaspaceSize=128M; -Xmx4096M -Xms512M -Xss256k -XX:+UseConcMarkSweepGC -XX:+UseParN 阅读全文

posted @ 2021-12-01 18:51 阿姆斯特朗回旋炮 阅读(569) 评论(0) 推荐(0) 编辑

2021年11月30日

DNS学习笔记

摘要: 一、DNS的作用 在网络世界中,不同的机器之前互相通讯,使用的IP地址和MAC地址。但是IP地址和MAC地址对人来说,并不友好,一串数字难以记忆,并且很多IP地址是动态变化的。因此需要给一些固定的服务器不会变化的域名(例如:www.baidu.com,www.taobao.com)。想要访问该网络的 阅读全文

posted @ 2021-11-30 19:55 阿姆斯特朗回旋炮 阅读(725) 评论(0) 推荐(0) 编辑

2021年6月5日

Zookeeper zab协议学习

摘要: 一、zookeeper基础概念 1、zookeeper是个啥 zookeeper是一个JAVA实现的分布式协调服务,最早由Yahoo开发,后交给Apache维护。 分布式协调技术主要用来解决分布式环境当中的多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止异常。 最常见的例如分布式锁就是一 阅读全文

posted @ 2021-06-05 16:05 阿姆斯特朗回旋炮 阅读(113) 评论(0) 推荐(0) 编辑

2018年12月27日

记录一次dubbo不能正常抛出特定异常

摘要: BUG场景 今天同事的代码中出现一个问题,让我帮忙排查一下。原代码大致如下 dubbo服务消费者: dubbo服务提供者: 问了同事的意图,他希望如果提供方抛出PaymentException的时候,服务方能够捕获到对应PaymentException。然而,在上面的代码中,消费者捕获不到Payme 阅读全文

posted @ 2018-12-27 16:54 阿姆斯特朗回旋炮 阅读(2384) 评论(0) 推荐(0) 编辑

2018年12月12日

JAVA 类加载机制学习笔记

摘要: JAVA 类生命周期 如上图所示,Java类的生命周期如图所示,分别为加载、验证、准备、解析、初始化、使用、卸载。其中验证、准备、解析这三个步骤统称为链接。 加载:JVM根据全限定名来获取一段二进制字节流,将二进制流转化为方法区的运行时数据结构,在内存中生成一个代表该类的Java.lang.Clas 阅读全文

posted @ 2018-12-12 16:37 阿姆斯特朗回旋炮 阅读(264) 评论(0) 推荐(0) 编辑

2018年11月22日

JAVA 垃圾回收读书笔记

摘要: 对象已死 在JAVA代码运行中,会不停的创建对象,因为内存空间不是无限的,Java虚拟机必须不停的回收无用的数据空间。那么虚拟机是怎么判断对象空间是需要被回收的呢,也就是怎么样的数据算是垃圾数据呢? 引用计数法 引用计数法是指给没一个对象中添加一个引用计数器,每当一个地方引用了该对象,就让该对象的引 阅读全文

posted @ 2018-11-22 18:04 阿姆斯特朗回旋炮 阅读(346) 评论(0) 推荐(0) 编辑

导航