- 博客(16)
- 收藏
- 关注
原创 Redis集群模式的工作原理能说一下么?在集群模式下,Redis的key是如何寻址的?
redis cluster 介绍自动将数据进行分片,每个 master 上放一部分数据提供内置的高可用支持,部分 master 不可用时,还是可以继续工作的在 redis cluster 架构下,每个 redis 要放开两个端口号,比如一个是 6379,另外一个就是 加1w 的端口号,比如 16379。16379 端口号是用来进行节点间通信的,也就是 cluster bus 的东西,clu...
2019-09-20 16:36:15 2895
原创 Redis的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的
redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?分析redis 如果仅仅只是将数据缓存在内存里面,如果 redis 宕机了再重启,内存里的数据就全部都弄丢了啊。你必须得用 redis 的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化。如果 redis 宕机重启,自动从磁盘上加载之前持久化的一些数据就可以了,也许...
2019-09-19 09:45:58 178
原创 HTTP和HTTPS的区别,SSL的握手过程
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,H...
2019-09-02 10:41:19 164
原创 redis cluster数据存储和节点通信原理
RedisCluster是redis的分布式解决方案,在3.0版本后推出的方案,有效地解决了Redis分布式的需求,当遇到单机内存、并发等瓶颈时,可使用此方案来解决这些问题redis cluster 数据存储1,分布式数据库把整个数据按分区规则映射到多个节点,即把数据划分到多个节点上,每个节点负责整体数据的一个子集比如我们库有900条用户数据,有3个redis节点,将900条分成3份,分...
2019-08-08 15:40:09 2514
原创 Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失
https://blog.csdn.net/gududedabai/article/details/83059381
2019-08-06 15:14:29 124
原创 Kafka是如何实现高性能的?
Kafka是如何实现高性能的?1. 宏观架构层面利用Partition实现并行处理 Kafka中每个Topic都包含一个或多个Partition,不同Partition可位于不同节点。同时Partition在物理上对应一个本地文件夹,每个Partition包含一个或多个Segment,每个Segment包含一个数据文件和一个与之对应的索引文件。 在逻辑上,可以把一个Partition当作一个...
2019-07-16 11:23:49 397 2
原创 Kafka如何通过精妙的架构设计优化JVM GC问题?
1、Kafka的客户端缓冲机制首先,先得给大家明确一个事情,那就是在客户端发送消息给kafka服务器的时候,一定是有一个内存缓冲机制的。也就是说,消息会先写入一个内存缓冲中,然后直到多条消息组成了一个Batch,才会一次网络通信把Batch发送过去。整个过程如下图所示:2、内存缓冲造成的频繁GC问题那么这种内存缓冲机制的本意,其实就是把多条消息组成一个Batch,一次网络请求就是一个B...
2019-07-05 15:05:17 1208
原创 Kafka acks参数对消息持久化的影响
目录(1)如何保证宕机时数据不丢失?(2)多副本冗余的高可用机制(3)多副本之间数据如何同步?(4)ISR到底指的什么东西?(5)acks参数的含义?(6)最后的思考这个acks参数在kafka的使用中,是非常核心以及关键的一个参数,决定了很多东西。所以无论是为了面试还是实际项目使用,大家都值得看一下这篇文章对Kafka的acks参数的分析,以及背后的原理。(1)如何保证宕机的时...
2019-07-05 15:01:38 140
转载 springboot启动流程概述
1、创建SpringApplication实例: public SpringApplication(ResourceLoader resourceLoader, Class... primarySources) { this.sources = new LinkedHashSet(); this.bannerMode = Mode.CONSOLE; ...
2019-06-19 16:27:54 478
原创 Spring的事务传播性与隔离级别
Spring的事务传播性与隔离级别一、事务的四个特性l 原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做,要么全部做。l 一致性:数据不会因为事务的执行而遭到破坏。l 隔离性:一个事务的执行,不受其他事务(进程)的干扰。既并发执行的个事务之间互不干扰。l 持久性:一个事务一旦提交,它对数据库的改变将是永久的。二、事务的实现方式 实现方式共有两种:编码方...
2019-06-05 10:45:42 100
原创 MinorGC和FullGC
1.Minor GCeden区分配空间不足,空间分配担保2.Full GC老年代区域空间不足空间分配担保失败:当发生Minorgc之前,虚拟机会检查老年代最大可用连续空间是否大于新生代所有对象总空间,如果大于,MinorGC确保安全。。。。否则不大于,则判断是否允许空间分配担保,如果开启,判断老年大最大空间是否大于历代晋升的平均大小,大于则执行MinorGC,虽然是有风险的,因为可能...
2019-06-05 10:40:04 308
转载 Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?
Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?前言昨天,笔者在一篇面经中突然看到阿里的这样一道面试题:Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的? 如果有两个XML文件和这个DAO建立关系,岂不是冲突了?如果你看过笔者关于Mybatis源码分析的往期博文,相信你肯定可以给出一个不错的答案。但鉴于系列文章篇幅较大,而且重点是源码部分的解读,所以...
2019-06-04 10:10:41 941
原创 eureka
EurekaClientEurekaClient为了简化开发人员的工作量,将很多与EurekaServer交互的工作隐藏起来,自主完成。具体完成的工作如下应用启动阶段读取与 Eureka Server交互的配置信息,封装成 EurekaClientConfig读取自身服务实例配置信息,封装成EurekalnstanceConfig从Eureka server拉取注册表信息并缓存到本地...
2019-05-23 10:47:20 354
原创 mysql 索引的原理
mysql 索引的原理数据量很大的时候1.平衡二叉树第一,我们一个表中的数据存储量会很大,数据量在万以内的我们都认为这是个小数据量表,一般的表数据量都以十万计,百万级别的表也不在少数,用二叉树来索引的话,这个树就会是个很高很瘦的树,层次很深,查找的次数会有几十次次之多。第二,因为数据量很大,相应的索引也会很大,不可能全部存储在内存中,数据库是做数据持久化的地方,索引文件不可能永驻内存,因此...
2019-05-09 16:14:09 111
原创 海量数据判断某个数据是否存在
1.布隆过滤器 白名单拦截 基于guava 需要二进制向量和一系列随机映射的hash函数 原理: 数据经过一系列hash算法,计算出具体位置,置为1 经典场景 字处理软件中,需要检查一个英语单词是否拼写正确(100w) 在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上(100w) 在网络爬虫里,一个网址是否被访问过(5亿个网站)2.题目描述: 在2.5亿个整数...
2019-05-09 11:18:13 2007
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人