10 2019 档案
摘要:RabbitMQ安装 我这里安装是使用阿里云的CentOS7.5来安装的,使用CentOS版本低于7的可能会报错。 1.安装rabbitmq所需要的依赖包 输入$ yum install build-essential openssl openssl-devel unixODBC unixODBC-
阅读全文
摘要:1.Redis支持的数据类型? 答:五种,在第一节redis相关的博客我就说过,String,Hash,List,Set,zSet,也就是我们的字符串,哈希,列表,集合,有序集合五种。结构图如下。 2.什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么? 答:Redis持久化主要分为
阅读全文
摘要:上几次说了redis的主从,哨兵,集群配置,但是内部的选举一直没说,先来简单说一下选举吧。 集群选举 redis cluster节点间采取gossip协议进行通信,也就是说,在每一个节点间,无论主节点还是从节点,他们之间都是存在相互通信的。例如你的redis端口号是6379,那么你的gossip协议
阅读全文
摘要:这次我们来简单说说分布式锁,我记得过去我也过一篇JMM的内存一致性算法,就是说拿到锁的可以继续操作,没拿到的自旋等待。 思路与场景 我们在Zookeeper中提到过分布式锁,这里我们先用redis实现一个简单的分布式锁,这里是我们一个简单的售卖减库存的小实例,剩余库存假设存在数据库内。 这样简单的实
阅读全文
摘要:上次我们搭建了Redis的主从架构,哨兵架构以及我们的集群架构,但是我们一直还未投入到实战中去,这次我们用jedis和springboot两种方式来操作一下我们的redis 主从架构 如何配置我上次已经讲过了,https://www.cnblogs.com/cxiaocai/p/11711377.h
阅读全文
摘要:我们使用的redis,单机的绝对做不到高可用的,万一单机的redis宕机了,就没有备用的了,我们可以采用集群的方式来保证我们的高可用操作。 主从架构 大致就是这样的,一个主节点,两个从节点(一般两个就可以了) 主从工作原理 如果你为master配置了一个slave,不管这个slave是否是第一次连接
阅读全文
摘要:上次我们简单的说了一下我们的redis的安装和使用,这次我们来说说redis为什么那么快和持久化数据 在我们现有的redis中(5.0.*之前的版本),Redis都是单线程的,那么单线程的Redis为什么还会有那么高的效率呢?因为它所有的数据都在内存中,所有的运算都是内存级别的运算,而且单线程避免了
阅读全文
摘要:这次我们来说说我们的redis,在我们的redis的认知里,最熟悉的就是用redis作为缓存使用,还有我们的分布式session,其实还有很多redis的使用,还有redis的哨兵模式等等。 Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI
阅读全文
摘要:这次我们来说一下我们的SpringBoot,现在SpringBoot已经成为趋势,在我这里我用三篇文章的形式来讲清楚我们的SpringBoot,大致分为,第一篇讲搭建,基本使用,第二篇三方集成,自动装配原理,第三篇,将main方法启动原理,总结史上最全的SpringBoot注解及其含义。后面有机会再
阅读全文
摘要:上几次博客,我说了一下Zookeeper的简单使用和API的使用,我们接下来看一下他的真实场景。 一、分布式集群管理✨✨✨ 我们现在有这样一个需求,请先抛开Zookeeper是集群还是单机的概念,下面提到的都是以Zookeeper集群来说的。 1. 主动查看线上服务节点 2. 查看服务节点资源使用情
阅读全文
摘要:说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了。后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案。 1.索引是什么?有什么作用以及缺点 答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据
阅读全文
摘要:下文连接比较多啊,都是我过整理的博客,很多答案都在博客里有详细说明,理解记忆是最扎实的记忆。而且我的答案不一定是最准确的,但是我的答案不会让你失望,而且几乎每个答案都是问题的扩展答案。 1.JVM内存模型 答:https://www.cnblogs.com/cxiaocai/p/11483629.h
阅读全文
摘要:我们这次来叭叭一下Spring的源码,这次博客主要来说说Spring源码,先粗略的撸一遍,下篇博客选几个重点去说,由于过于复杂,我也是看了一点点,我们先来过一遍源码,然后上流程图,最后我们再回头总结一下,我们来循序渐进的叭叭一下。 我们来回顾一下上次Spring博客的内容,每次都有用到Annotat
阅读全文
摘要:我们上次大致说完了执行流程,也只是说了大致的过程,还有中间会出错的情况我们来处理一下。 统一异常处理 比如我们的运行时异常的500错误。我们来自定义一个类 将我们的类注入到我们的spring-mvc.xml内 我们让我们的代码运行时异常就可以跳转到我们的error页面上去了。 拦截器 还有我们常用的
阅读全文
摘要:做过web项目的小伙伴,对于SpringMVC,Struts2都是在熟悉不过了,再就是我们比较古老的servlet,我们先来复习一下我们的servlet生命周期。 servlet生命周期 1)初始化阶段 当客户端向 Servlet 容器发出 HTTP 请求要求访问 Servlet 时,Servlet
阅读全文