自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2、分布式缓存reids+mysql双写一致性代码实现及介绍

分布式缓存reids+mysql双写一致性代码实现及介绍说明1、如果请求数过多可以部署多个项目 用nginx进行hash负载2、如果Controller有获取商品库存则在redis获取(每20毫秒获取一次超过200毫秒 直接从数据库里查询)3、如果查询数据过多可以多维度保存(每一个存储单元都保存下一个存储单元的key)具体代码....

2020-06-20 18:45:16 188

原创 1、分布式缓存简单介绍

分布式缓存简单介绍分布式系统中三级缓存的说明图架构说明nginx的流量分发和应用层之所以使用hash是为了提高缓存的命中率(详细代码在架构介绍的最后一章给大家)架构的问题1、对于实时的数据怎么样实现redis和数据库的双写一致性怎么实现2、分布式缓存的重建冲突问题3、redis雪崩和击穿的解决4、超级热门商品的降级5、redis预热避免冷启动...

2020-06-20 16:33:12 245

原创 nginx常见问题和坑

nginx常见问题和坑开启Nginx Proxy Cache性能不升反降“惊群”问题开启Nginx Proxy Cache性能不升反降开启Nginx Proxy Cache后,性能下降,而且过一段时间内存使用率到达98%,解决方案如下。1、内存占用率高的问题是内核问题,内核使用LRU机制,本身不是问题,不过可以通过修改内核参数来改善:sysctl -w vm.extra_free_kbytes=6463787sysctl -w vm.vfs_cache_pressure=100002、在HD

2020-06-01 17:58:06 339

原创 Nginx优化内核配置及说明

Nginx优化内核配置及说明Linux 内核参数优化Linux 内核参数优化Linux 核参数适合于通用的场景下, Linux 的特点 可以根据不同的应用场景Nginx 作为静态Web 务器反向代理服不同服务器时,所用的内核配置也不同的本文针对 多并发 Nginx 用, 出内核 数修改样表修改/etc sysctl.conf 配置 如下:fs.file- max = 999999net.core.netdev_max_backlog = 8096net.core.rmem_default =

2020-06-01 17:03:47 229

原创 nginx和lua脚本环境搭建

nginx和lua脚本环境搭建nginx安装nginx依赖软件包介绍OpenResty 安装lua的运行环境nginx安装tar -zxvf nginx-1.10.0.tar.gzyum -y install gee pere pere-devel zlib zlib-devel openssl openssl-devel gcc./configure --prefix=/usr/local/nginxmake && make installnginx依赖软件包介

2020-06-01 15:53:19 340

原创 redis_cluster集群部署及操作

redis_cluster集群搭建redis_cluster集群对redis节点的操作介绍redis_cluster集群yum install gcc gcc-c++ gcc-g77tar -zxvf tcl8.6.1-src.tar.gzrm -rf tcl8.6.1-src.tar.gzmv tcl8.6.1 /usr/local/tcl8cd /usr/local/tcl8.6.1/unix/./configuremake && make installt

2020-05-24 17:55:56 255

原创 redis常见的优化技巧

redis常见的优化技巧1、fork耗时导致高并发请求延时2、AOF的阻塞问题3、主从复制延迟问题4、主从复制风暴问题5、vm.overcommit_memory6、swapiness7、最大打开文件句柄8、tcp backlog1、fork耗时导致高并发请求延时RDB和AOF的时候,其实会有生成RDB快照,AOF rewrite,耗费磁盘IO的过程,主进程fork子进程fork的时候,子进程是需要拷贝父进程的空间内存页表的,也是会耗费一定的时间的一般来说,如果父进程内存有1个G的数据,那么fork

2020-05-24 17:43:52 272

原创 Redis cluster的节点间的内部通信机制

Redis cluster的节点间的内部通信机制1、基础通信介绍2、gossip协议3、ping消息深入1、基础通信介绍(1)redis cluster节点间采取gossip协议进行通信跟集中式不同,不是将集群元数据(节点信息,故障,等等)集中存储在某个节点上,而是互相之间不断通信,保持整个集群所有节点的数据是完整的维护集群的元数据用得,集中式,一种叫做gossip集中式:好处在于,元数据的更新和读取,时效性非常好,一旦元数据出现了变更,立即就更新到集中式的存储中,其他节点读取的时候立即就可以感知

2020-05-24 17:40:35 1364

原创 Redis哨兵的选举细节

Redis哨兵的选举细节1、sdown和odown转换2、哨兵集群的自动发现3、slave配置的自动纠正4、slave->master选举算法5、quorum和majority6、configuration epoch7、configuraiton传播1、sdown和odown转换sdown和odown两种失败状态sdown是主观宕机,就一个哨兵如果自己觉得一个master宕机了,那么就是主观宕机odown是客观宕机,如果quorum数量的哨兵都觉得一个master宕机了,那么就是客观宕机s

2020-05-24 17:30:53 1418 2

原创 redis数据丢失解决方案

redis数据丢失master宕机导致的数据丢失脑裂导致的数据丢失master宕机导致的数据丢失redis持久化 rdb和aofrdb介绍每60秒如果有1000次写入则在内存里快照一份到磁盘里每900秒如果有1次写入则在内存里快照一份到磁盘里save 60 1000save 900 1…AOF以日志写命令的方式持久化数据首先首先写入命令会写入os cache 中 每秒都会fsync磁盘中(默认设置)appendonly yes,可以打开AOF持久化机制在哨兵的架构中如果ma

2020-05-24 17:21:59 1034

原创 Redis哨兵的部署和介绍配置文件

Redis哨兵的部署和介绍配置文件哨兵的部署详细操作redis安装(三台服务器)哨兵的部署哨兵的安装哨兵集群的启动和操作解释插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入哨兵的部署详细操作redis安装(三台服务器)yum install gcc gcc-c++ gcc-g77

2020-05-24 17:00:48 287

原创 ConcurrentHashMap底层分析

ConcurrentHashMap 实现原理由于 HashMap 是一个线程不安全的容器,主要体现在容量大于总量*负载因子发生扩容时会出现环形链表从而导致死循环。因此需要支持线程安全的并发容器 ConcurrentHashMap 。JDK1.7 实现数据结构如图所示,是由 Segment 数组、HashEntry 数组组成,和 HashMap 一样,仍然是数组加链表组成。Concur...

2019-03-24 21:07:55 80

原创 HashMap底层分析

HashMap 底层分析以下基于 JDK1.7 分析。如图所示,HashMap 底层是基于数组和链表实现的。其中有两个重要的参数:容量负载因子容量的默认大小是 16,负载因子是 0.75,当 HashMap 的 size > 16*0.75 时就会发生扩容(容量和负载因子都可以自由调整)。put 方法首先会将传入的 Key 做 hash 运算计算出 hashcode,...

2019-03-24 19:53:34 98

原创 分布式id生成方案

分布式 ID 生成器一个唯一 ID 在一个分布式系统中是非常重要的一个业务属性,其中包括一些如订单 ID,消息 ID ,会话 ID,设备ID等,但是唯一的特点全局唯一。全局唯一很好理解,目的就是唯一标识某个次请求,某个业务。通常有以下几种方案:基于数据库可以利用 MySQL 中的自增属性 auto_increment 来生成全局唯一 ID,自增ID是连续的,它就依赖于数据库自身的锁,所以...

2019-03-16 18:22:23 179

原创 LinkedList底层分析

LinkedList 底层分析如图所示 LinkedList 底层是基于双向链表实现的,也是实现了 List 接口,所以也拥有 List 的一些特点(JDK1.7/8 之后取消了循环,修改为双向链表)。新增方法 public boolean add(E e) { linkLast(e); return true; } /** ...

2019-03-15 21:54:51 73

原创 ArrayList/Vector容器分析

ArrayList/Vector 的底层分析ArrayListArrayList 实现于 List、RandomAccess 接口。可以插入空数据,也支持随机访问。ArrayList相当于动态数据,其中最重要的两个属性分别是:elementData 数组,以及 size 大小。在调用 add() 方法的时候: /** * Appends the specified el...

2019-03-09 20:15:02 86

原创 jvm调优实战

1 理论篇1.1 多功能养鱼塘-JVM内存      大鱼塘O(可分配内存): JVM可以调度使用的总的内存数,这个数量受操作系统进程寻址范围、系统虚拟内存总数、系统物理内存总数、其他系统运行所占用的内存资源等因素的制约。    &amp

2019-03-03 17:56:12 694

原创 tomcat性能优化

tomcat性能优化目的1.配置tomcat管理员账户2 tomcat的3种运行模式介绍及配置2.1 启动NIO模式3 执行器(线程池)3.1 开启并且使用3.2 参数说明3.3最佳实践4 连接器(Connector)4.1 通用属性(高亮的是重点)4.2. 标准实现(高亮的是重点)4.3 NIO的具体配置4.4最佳实践4 禁用AJP连接器5 JVM参数的优化目的服务器所能提供CPU、内存、...

2019-02-24 15:29:04 354

空空如也

空空如也

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

TA关注的人

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