- 博客(141)
- 资源 (1)
- 收藏
- 关注
原创 7 剖析Elasticsearch的基础分布式架构
1、Elasticsearch对复杂分布式机制的透明隐藏特性Elasticsearch是一套分布式的系统,分布式是为了应对大数据量 隐藏了复杂的分布式机制分片机制(我们之前随随便便就将一些document插入到es集群中去了,我们有没有care过数据怎么进行分片的,数据到哪个shard中去)cluster discovery(集群发现机制,我们之前在做那个集群status从yellow转gr...
2019-06-03 12:05:27 195
原创 6 Google安装head插件
1 前言通过前面的学习我们已经可以往elasticsearch中存数据了,我们知道elasticsearch天生就是为海量数据和大规模集群而存在的,所以如果我们想要管理这些数据和集群,那么肯定得借助其他的一些工具进行管理,不然大家可以想象一下,我想要知道我的索引有哪些,数据量有多大,还得发送一个一个REST去查。我想管理我elasticsearch集群中所有的主机,看看它们的运行状态,集群数量,...
2019-06-03 12:05:04 905
原创 5 集群搭建Elasticsearch
1 集群搭建同样是每台主机都需要安装,过程很简单。这时我们只是每台主机都安装好了 Elasticsearch,接下来我们还需要将它们联系在一起构成一个集群。安装完之后,Elasticsearch 的配置文件是 /etc/elasticsearch/elasticsearch.yml,接下来让我们编辑一下配置文件:集群的名称通过 cluster.name\color{red}...
2019-06-03 12:04:40 441
原创 4 Linux安装Kibana
1 安装JDK自行百度2 安装Kibana2.1 下载Kibana这一步需要下载与Elasticsearch版本相同的kibana,本人是从本地上传到服务器上的,使用的是5.4.2。2.2 解压Kibana在服务器上传目录解压kibana:tar -zxvf kibana-5.4.2-linux-x86_64.tar.gz2.3 修改配置修改config/kibana.yml文...
2019-06-03 12:04:21 145
原创 3 单机搭建Elasticsearch
1 安装JDK自行百度2 安装Elasticsearch2.1 创建elasticsearch目录cd /usr/local/mkdir toolcd toolmkdir elasticsearchcd elasticsearch2.2 下载Elasticsearch2.2.1 在刚刚创建好的文件夹内下载Elasticsearch(以下简称es)curl -L -O ht...
2019-06-03 12:04:02 110
原创 2 Elasticsearch简单操作
简单的集群管理(1)快速检查集群的健康状况GET /_cat/health?v如何快速了解集群的健康状况?green、yellow、red?green:每个索引的primary shard和replica shard都是active状态的yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状态r...
2019-06-03 12:03:39 162
原创 1 Elasticsearch基础知识学习
为什么要使用ES(1):大规模数据如何检索?如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题:1)用什么数据库好?(mysql、sybase、oracle、达梦、神通、mongodb、hbase…)2)如何解决单点故障;(lvs、F5、A10、Zookeep、MQ)3)如何保证数据安全性;(热备、冷备、异地多活)4)如何解决检索难题;(数...
2019-06-03 12:02:48 197
原创 2.3 hotspot的算法实现
枚举根节点GC的时候所有Java执行线程必须停顿。原因:可达性分析工作必须在一个能保证一致性(系统看起来像冻结在了某个节点)的快照中进行,GC的时候是通过可达性分析进行回收对象的,所以要停顿所有Java线程。OopMap数据结构:可达性分析从GC Root是 节点找引用链的时候,需要逐个检查这些引用,会消耗很多时间。有了OopMap数据额结构,系统停顿下来后,并不需要一个不漏的检查所有的引用...
2019-03-26 11:43:47 171
原创 linux系统安装mysql
1.下载安装包到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (glibc 2.5) (x86, 64-bit),32位系统下载Linux - Generic (glibc 2.5) (x86, 32-bit)2 卸载老版本MySQL...
2019-02-27 17:26:21 241
原创 你是如果对你的报表进行优化的?
1,你是如果对你的报表进行优化的 1.先观察,开启慢查询日志,设置相应的阈值(比如超过3秒就是慢SQL),在生产环境跑上个一天过后,看看哪些SQL比较慢。2.Explain和慢SQL分析。比如SQL语句写的烂,索引没有或失效,关联查询太多(有时候是设计缺陷或者不得以的需求)等等。3.Show Profile是比Explain更近一步的执行细节,可以查询到执行每一个SQL都干了什么事...
2019-02-23 10:40:50 247
原创 你能聊聊CAS一般怎么用以及CAS工作原理是啥?
1、面试题java里玩儿悲观锁和乐观锁一般怎么玩儿?synchronized相当于是悲观锁,CAS相当于是乐观锁。知道CAS是什么吗?CAS是如何实现的?2、面试官心里分析这个高级点的面试,肯定会问CAS,还是比较重要的3、面试题剖析悲观锁:我现在要操作一个共享数据,我很悲观,我认为我操作的过程中,一定会被人给修改,会导致数据错误;我在操作这个数据之前,先给这个数据加了一把锁,...
2019-02-22 17:21:24 696
原创 孟瑶面试题
1,自我介绍 2,说一下你对spring ioc和aop的理解ioc 控制反转是就是应用本身不负责依赖对象的创建和维护,依赖对象的创建及维护是由外部容器负责的,所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。这样控制权就有应用转移到了外部容器,控制权的转移就是控制反转。IoC的一个重点是在系统运行中,动态的向某个对象...
2019-02-22 17:02:03 279
原创 并发编程常见面试题总结
一 面试中关于 synchronized 关键字的 5 连击1.1 说一说自己对于 synchronized 关键字的了解synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在 Java 早期版本中,synchronized属于重量级锁,效率低下,庆幸的是在 Java 6 ...
2019-02-21 12:59:52 427
原创 43 能不能结合java内存模型来聊聊volatile关键字的原理?
目录1、面试题2、面试官心里分析3、面试题3.1 操作系统内存模型3.2 java内存模型3.3 volatile的作用3.4 volatile的使用场景1、面试题java的内存模型是什么?能结合内存模型说一下volatile的工作原理吗?指令重排序,内存栅栏,happen-before等概念是指的什么意思?2、面试官心里分析我作为面试官的话,也是经常问...
2019-01-29 18:34:32 346
原创 42 你能聊聊CAS一般怎么用以及CAS工作原理是啥?
1、面试题java里玩儿悲观锁和乐观锁一般怎么玩儿?synchronized相当于是悲观锁,CAS相当于是乐观锁。知道CAS是什么吗?CAS是如何实现的?2、面试官心里分析这个高级点的面试,肯定会问CAS,还是比较重要的3、面试题剖析悲观锁:我现在要操作一个共享数据,我很悲观,我认为我操作的过程中,一定会被人给修改,会导致数据错误;我在操作这个数据之前,先给这个数据加了一...
2019-01-29 14:53:59 392
原创 41 mysql调优的方案
1.一般应急调优的思路:针对突然的业务办理卡顿,无法进行正常的业务处理!需要立马解决的场景!1、show processlistSHOW PROCESSLIST显示哪些线程正在运行show processlist 详细介绍2、查看执行计划 查看索引3、通过执行计划判断,索引问题(有没有、合不合理)或者语句本身问题4、show status like '%lock%'...
2019-01-28 14:59:04 270
原创 40 分布式系统中的接口调用如何保证顺序性?
目录1、面试题2、面试官心里分析3、面试题剖析1、面试题分布式服务接口请求的顺序性如何保证?2、面试官心里分析其实分布式系统接口的调用顺序,也是个问题,一般来说是不用保证顺序的。但是有的时候可能确实是需要严格的顺序保证。给大家举个例子,你服务A调用服务B,先插入再删除。好,结果俩请求过去了,落在不同机器上,可能插入请求因为某些原因执行慢了一些,导致删除请求先执行了,此时...
2019-01-20 10:54:53 706
原创 39 分布式系统中接口的幂等性该如何保证?比如不能重复扣款?
1、面试题分布式服务接口的幂等性如何设计(比如不能重复扣款)?2、面试官心里分析从这个问题开始,面试官就已经进入了实际的生产问题的面试了一个分布式系统中的某个接口,要保证幂等性,该如何保证?这个事儿其实是你做分布式系统的时候必须要考虑的一个生产环境的技术问题。啥意思呢?你看,假如你有个服务提供一个接口,结果这服务部署在了5台机器上,接着有个接口就是付款接口。然后人家用户...
2019-01-19 23:14:02 435
原创 38 基于dubbo如何做服务治理、服务降级以及重试?
目录 1、面试题2、面试官心里分析3、面试题剖析(1)服务治理(2)服务降级(3)失败重试和超时重试1、面试题如何基于dubbo进行服务治理、服务降级、失败重试以及超时重试?2、面试官心里分析服务治理,这个问题如果问你,其实就是看看你有没有服务治理的思想,因为这个是做过复杂微服务的人肯定会遇到的一个问题。服务降级,这个是涉及到复杂分布式系统中必备的一...
2019-01-19 23:07:40 246
原创 37 SPI是啥思想?dubbo的SPI机制是怎么玩儿的?
目录1、面试题2、面试官心里分析3、面试题剖析1、面试题dubbo的spi思想是什么?2、面试官心里分析继续深入问呗,前面一些基础性的东西问完了,确定你应该都ok了解dubbo的一些基本东西,那么问个稍微难一点点的问题,就是spi,先问问你spi是啥?然后问问你dubbo的spi是怎么实现的?其实就是看看你对dubbo的掌握如何3、面试题剖析spi,简单来说...
2019-01-19 22:59:33 827
原创 java编程思想随笔小计
1. 接口1.接口可以用于多继承,只需要用逗号将接口名一一分隔开即可。2.再打算组合的不同接口中使用相同的方法名通常会造成代码可读性的混。请避免这种情况。3.接口中的域默认都是static和final的。 ...
2019-01-19 22:34:46 131
原创 36 dubbo支持哪些负载均衡、高可用以及动态代理的策略?
目录1、面试题2、面试官心里分析3、面试题剖析(1)dubbo负载均衡策略(2)dubbo集群容错策略(3)dubbo动态代理策略1、面试题dubbo负载均衡策略和集群容错策略都有哪些?动态代理策略呢?2、面试官心里分析继续深问吧,这些都是用dubbo必须知道的一些东西,你得知道基本原理,知道序列化是什么协议,还得知道具体用dubbo的时候,如何负载均衡,如...
2019-01-19 22:30:04 365
原创 35 dubbo都支持哪些通信协议以及序列化协议?
1、面试题dubbo支持哪些通信协议?支持哪些序列化协议?2、面试官心里分析上一个问题,说说dubbo的基本工作原理,那是你必须知道的,至少知道dubbo分成哪些层,然后平时怎么发起rpc请求的,注册、发现、调用,这些是基本的。接着就可以针对底层进行深入的问问了,比如第一步就可以先问问序列化协议这块,就是平时rpc的时候怎么走的?3、面试题剖析(1)dubbo支持不同...
2019-01-19 22:11:38 316
原创 34 dubbo的工作原理是啥?注册中心挂了可以继续通信吗?
目录1、面试题2、面试官心里分析3、面试题剖析1、面试题说一下的dubbo的工作原理?注册中心挂了可以继续通信吗?说说一次rpc请求的流程?2、面试官心里分析MQ、ES、Redis、Dubbo,上来先问你一些思考的问题,原理(kafka高可用架构原理、es分布式架构原理、redis线程模型原理、Dubbo工作原理),生产环境里可能会碰到的一些问题(每种技术引入之后生产环...
2019-01-19 21:42:18 412
原创 33 体验一下面试官可能会对分布式系统发起的一串连环炮
目录1.1 为什么要进行系统拆分?1.2 分布式服务框架1.3 分布式锁1.4 分布式事务1.5 分布式会话我之前有一些同学,之前呢主要是做传统行业,外包项目,互联网公司,一直是那种小的公司,技术一直都搞的比较简单。共同的一个问题,就是都没怎么搞过分布式系统,现在互联网公司,一般都是做分布式的系统,大家都不是做底层的分布式系统,分布式存储系统,hadoop hdfs,分布式...
2019-01-19 21:37:49 272
原创 31 你能说说redis的并发竞争问题该如何解决吗?
1、面试题redis的并发竞争问题是什么?如何解决这个问题?了解Redis事务的CAS方案吗?2、面试官心里分析这个也是线上非常常见的一个问题,就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了。而且redis自己就有天然解决这个问题的CAS类的乐观锁方案 ...
2019-01-19 21:28:01 954
原创 30 高并发场景下的缓存+数据库双写不一致问题分析与解决方案设计
马上开始去开发业务系统从哪一步开始做,从比较简单的那一块开始做,实时性要求比较高的那块数据的缓存去做实时性比较高的数据缓存,选择的就是库存的服务库存可能会修改,每次修改都要去更新这个缓存数据; 每次库存的数据,在缓存中一旦过期,或者是被清理掉了,前端的nginx服务都会发送请求给库存服务,去获取相应的数据库存这一块,写数据库的时候,直接更新redis缓存实际上没有这么的简单,...
2019-01-18 12:03:50 228
原创 29 你能说说我们一般如何应对缓存雪崩以及穿透问题吗?
1、面试题了解什么是redis的雪崩和穿透?redis崩溃之后会怎么样?系统该如何应对这种情况?如何处理redis的穿透?如何解决雪崩问题 2、面试官心里分析其实这是问到缓存必问的,因为缓存雪崩和穿透,那是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题。所以面试官一定会问你。3、面试题剖析缓存雪崩发生的现象缓存雪崩的事前事中事后的解决方案...
2019-01-18 11:32:38 310
原创 mysql索引类型Normal,Unique,Full Text区别及索引方法Btree,Hash的区别
mysql索引类型Normal,Unique,Full Text区别Normal:表示普通索引,大多数情况下都可以使用Unique:约束唯一标识数据库表中的每一条记录,即在单表中不能用每条记录是唯一的(例如身份证就是唯一的),Unique(要求列唯一)和Primary Key(primary key = unique + not null 列唯一)约束均为列或列集合中提供了唯一性的保证,P...
2019-01-18 10:48:01 263
原创 28 redis cluster的核心原理分析:gossip通信、jedis smart定位、主备切换
目录一、节点间的内部通信机制2、gossip协议3、ping消息深入二、面向集群的jedis内部实现原理1、基于重定向的客户端2、smart jedis三、高可用性与主备切换原理1、判断节点宕机2、从节点过滤3、从节点选举4、与哨兵比较一、节点间的内部通信机制1、基础通信原理(1)redis cluster节点间采取gossip协议进行通信...
2019-01-17 16:06:51 168
原创 27 数据分布算法:hash+一致性hash+redis cluster的hash slot
讲解分布式数据存储的核心算法,数据分布的算法hash算法 -> 一致性hash算法(memcached) -> redis cluster,hash slot算法用不同的算法,就决定了在多个master节点的时候,数据如何分布到这些节点上去,解决这个问题1、redis cluster介绍redis cluster(1)自动将数据进行分片,每个master上放一部分...
2019-01-17 15:58:24 198
原创 26 redis如何在保持读写分离+高可用的架构下,还能横向扩容支撑1T+海量数据
1、单机redis在海量数据面前的瓶颈2、怎么才能够突破单机瓶颈,让redis支撑海量数据?3、redis的集群架构redis cluster支撑N个redis master node,每个master node都可以挂载多个slave node读写分离的架构,对于每个master来说,写就写到master,然后读就从mater对应的slave去读高可用,因为每个mast...
2019-01-17 15:56:40 200
原创 25 图解分析redis的RDB和AOF两种持久化机制的工作原理
目录1、RDB和AOF两种持久化机制的介绍2、RDB持久化机制的优点3、RDB持久化机制的缺点4、AOF持久化机制的优点5、AOF持久化机制的缺点6、RDB和AOF到底该如何选择我们已经知道对于一个企业级的redis架构来说,持久化是不可减少的企业级redis集群架构:海量数据、高并发、高可用持久化主要是做灾难恢复,数据恢复,也可以归类到高可用的一个环节里面去...
2019-01-17 15:51:08 232
原创 24 redis哨兵的多个核心底层原理的深入解析(包含slave选举算法)
目录1、sdown和odown转换机制2、哨兵集群的自动发现机制3、slave配置的自动纠正4、slave->master选举算法5、quorum和majority6、configuration epoch7、configuraiton传播1、sdown和odown转换机制sdown和odown两种失败状态sdown是主观宕机,就一个哨兵如果自己觉得一...
2019-01-17 15:00:40 449
原创 23 redis哨兵主备切换的数据丢失问题:异步复制、集群脑裂
目录1、两种数据丢失的情况2、解决异步复制和脑裂导致的数据丢失------------------------------------------------------------------1、两种数据丢失的情况主备切换的过程,可能会导致数据丢失(1)异步复制导致的数据丢失因为master -> slave的复制是异步的,所以可能有部分数据还没复制到slave...
2019-01-17 14:06:07 207
原创 22 redis哨兵架构的相关基础知识的讲解
目录1、哨兵的介绍2、哨兵的核心知识3、为什么redis哨兵集群只有2个节点无法正常工作?4、经典的3节点哨兵集群1、哨兵的介绍sentinal,中文名是哨兵哨兵是redis集群架构中非常重要的一个组件,主要功能如下(1)集群监控,负责监控redis master和slave进程是否正常工作(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警...
2019-01-16 20:50:21 181
原创 21 redis replication的完整流运行程和原理的再次深入剖析
目录1、复制的完整流程2、数据同步相关的核心机制3、全量复制4、增量复制5、heartbeat6、异步复制1、复制的完整流程(1)slave node启动,仅仅保存master node的信息,包括master node的host和ip,但是复制流程没开始master host和ip是从哪儿来的,redis.conf里面的slaveof配置的(2)slave...
2019-01-16 20:48:13 181
原创 20 redis主从复制原理、断点续传、无磁盘化复制、过期key处理
目录1、主从架构的核心原理2、主从复制的断点续传3、无磁盘化复制4、过期key处理1、主从架构的核心原理当启动一个slave node的时候,它会发送一个PSYNC命令给master node如果这是slave node重新连接master node,那么master node仅仅会复制给slave部分缺少的数据; 否则如果是slave node第一次连接master ...
2019-01-16 20:46:42 185
原创 19 redis replication以及master持久化对主从架构的安全意义
目录1、图解redis replication基本原理2、redis replication的核心机制3、master持久化对于主从架构的安全保障的意义 ------------------------------------------------------------------------1、图解redis replication基本原理 -------...
2019-01-16 20:45:35 237
原创 18 redis如何通过读写分离来承载读请求QPS超过10万+?
目录1、redis高并发跟整个系统的高并发之间的关系2、redis不能支撑高并发的瓶颈在哪里?3、如果redis要支撑超过10万+的并发,那应该怎么做?4、接下来要讲解的一个topic1、redis高并发跟整个系统的高并发之间的关系redis,你要搞高并发的话,不可避免,要把底层的缓存搞得很好mysql,高并发,做到了,那么也是通过一系列复杂的分库分表,订单系统,事务要...
2019-01-16 20:43:21 1111
尚硅谷Java视频教程_SpringCloud视频教程
2018-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人