自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fly_zhaohy的博客

坚持正确的方向,相信时间的力量!

  • 博客(26)
  • 收藏
  • 关注

原创 MySQL事务隔离级别的实现原理是怎样的?

主要是通过视图的方式来实现的:数据库里面会创建一个视图,访问的时候以视图的逻辑为准.读未提交: 直接返回记录上的最新值,没有视图概念.读已提交: 在每个SQL语句开始执行的时候创建视图,所以在查询SQL执行前如果数据发生修改,也可以读到.可重复读: 在事务启动时创建的视图,整个事务存在期间都用这个视图,所以读到的数据不会发生变化.串行化:   是直接使用加锁的方式来避免并行访问....

2020-01-18 10:48:36 982

原创 主键索引和普通索引有什么区别?

  在 MySQL 中, 索引是在存储引擎层实现的, 所以并没有统⼀的索引标准, 由于 InnoDB 存储引擎在 MySQL数据库中使⽤最为⼴泛, 下⾯以 InnoDB 为例来分析⼀下其中的索引模型.在 InnoDB 中, 表都是根据主键顺序以索引的形式存放的, InnoDB 使⽤了 B+ 树索引模型,所以数据都是存储在 B+ 树中的, 如图所示:从图中可以看出, 根据叶子节点内容不同,索引类...

2020-01-17 09:57:19 10214

原创 MySQL索引的数据结构怎么选?

日常工作中,SQL查询效率比较低的时候,我们想到的第一个解决方案就是增加索引,那什么是索引?索引有哪些数据结构?索引是怎样工作的?我们来一一剖析.什么是索引?精炼成一句话:索引是为了加快查询效率的排好序的数据结构.这句话有几个重点,首先,索引的作用是为了加快查询效率,其次,索引是一种数据结构,而且是排好序的数据结构.索引有哪些数据结构?常见的就是hash,b+tree.hash:...

2020-01-16 10:20:41 507

原创 基于token认证原理是怎样的?

它的交互流程是,用户认证成功后,服务端生成一个token发给客户端,客户端可以放到 cookie 或 localStorage等存储中,每次请求时带上 token,服务端收到token通过验证后即可确认用户身份。...

2020-01-15 10:05:56 967

原创 基于session认证原理是怎样的?

  用户登录认证通过后,为了避免用户的每次操作都进行认证可将用户的信息保证在会话中。会话就是系统为了保持当前用户的登录状态所提供的机制,常见的有基于session方式、基于token方式等。...

2020-01-14 18:54:36 1771

原创 对称加密和非对称加密有什么区别?

对称加密是指加密和解密都使用同一个秘钥; 而非对称加密是有公钥和私钥两个秘钥的.对称加密速度相对更快,但安全性较低,如果一方的秘钥泄露,那密文就相当于明码了.而非对称加密速度相对较慢,但安全性更高.(速度我自测过SHA256RSA,签名和验签大约0-10ms,性能也挺高的)...

2020-01-10 17:31:43 1721

原创 MySQL事务隔离级别实现原理剖析

在 MySQL 中,事务⽀持是在引擎层实现的。你现在知道,MySQL 是⼀个⽀持多引擎的系统,但并不是所有的引擎都⽀持事务。⽐如 MySQL 原⽣的MyISAM 引擎就不⽀持事务,这也是 MyISAM 被 InnoDB 取代的重要原因之⼀。事务A事务B电脑$1600手机$12导管$1...

2019-10-18 12:05:34 157

原创 SQL更新语句是怎样执行的(redo log日志和binlog日志)

用一条最简单的SQL语句示例:update user set age = age + 1 where id = 3;其实更新语句的执行和查询语句的执行流程是比较相似的,但是更复杂一些.首先,也是通过连接器进行连接,然后将user表的查询缓存都失效,杰西莱,分析器会通过词法和语法分析知道这是一条更新语句,优化器来选择id这个索引,然后执行器负责找到这一行,并更新,这个过程非常复杂,要说清这个过...

2019-10-17 16:52:43 726

原创 MySQL基础架构图(查询SQL是怎么执行的)

如果你有疑问,一条SQL是如何在MySQL内部执行的,看完这篇文章,想必你会有一个较为清晰的认识,先看下MySQL的基础架构图吧.大体来说,MySQL可以分为Server层和存储引擎层两部分. Server层包括连接器,查询缓存,分析器,优化器,执⾏器等,涵盖 MySQL的⼤多数核⼼服务功能,以及所有的内置函数(如⽇期、时间、数学和加密函数等),所有跨存储引擎的功能都在这⼀层实现,⽐如存储过程...

2019-10-16 18:40:39 302

原创 阿里MySQL建表规约

1.[强制]表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsigned tinyint(0 表示否,1表示是)说明:任何字段如果为非负数,必须是unsigned.正例:表达逻辑删除的字段名is_deleted,0表示未删除,1表示删除.2.[强制]表名,字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字.数据库字段名的修改代价很大,因为无法进行...

2019-09-29 11:50:07 765

原创 一张图搞定线程的生命周期

2019-07-23 20:40:28 736

原创 高效会议的几个建议

  通常来讲,会议的作用是用时间来传达消息或者换取结论,但低效的会议不仅得不到应有的效果,还耽误时间,为人诟病,影响领导力. 通过观察,我对高效会议总结了一些建议,希望能对会议的效率有所帮助:一.会议组织者需要理清要点  会议组织者应该在会前将议论事项整理出来,并且要对这些要点有深入思考,这样会议的流程就会清晰很多.二.会议组织者要有把控进度的意识  开会的过程中,议题难免被带偏,这个时候...

2019-03-30 14:13:01 5362 2

原创 生产环境问题实战(二)-Read-only file system引发的MySQL宕机

问题描述: 业务反应服务不可用,查看后台日志发现MySQL有异常,进入MySQL数据库服务器,发现MySQL进程已经宕掉了,赶紧重启MySQL,启动失败,Read-only file system.问题分析: 通过运维解决了这个问题,然后重启虚拟机及相关服务,最终问题得到解决,以下是运维给出的问题排查以及解决办法:解决方案:...

2019-03-07 16:32:23 3618

原创 生产环境问题实战(一)-Redis慢查引发的服务不可用

问题描述:  接口访问一直超时,服务处于不可用状态,查看后台日志,发现有大量jedis连接超时异常,查看redis所在服务器资源,发现cpu100%运行中,过一段时间后,服务自行恢复正常.问题分析:网上资料看了一些,出现cpu过高的原因主要有以下这些:  1.连接数过多.通过info命令来查看  2.慢查询阻塞.redis是单线程的,如果有慢查询,会阻塞住后续的操作  3.单个valu...

2019-03-07 15:40:07 4293

原创 Spring Cloud学习笔记(十二)-服务链路追踪Spring Cloud Sleuth的搭建

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.Spring Cloud Sleuth是干什么的   Spring Cloud Sleuth是Spring Cloud的一个组件,它的主要功能是在分布式系统中提供服务链路追踪的解决方案. 二.为什么需要S...

2018-07-16 21:20:35 3054

原创 Spring Cloud学习笔记(十一)-使用Spring Cloud Bus刷新配置

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.Spring Cloud Bus是干什么的   Spring Cloud Bus是用轻量的消息代理将分布式的节点连接起来,可以用于广播配置文件的更改或者服务的监控管理.一个关键的思想就是,消息总线可以为微服...

2018-07-16 14:28:51 3030

原创 Spring Cloud学习笔记(十)-配置中心Config组件从GitHub读取配置文件

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.为什么要使用Config组件?   我觉得主要有两点,方便配置统一管理以及在更改配置时不用重启服务. 二.搭建Config Server服务   首先,我们需要了解的是,Config Server既可以...

2018-07-14 17:30:26 11634

原创 Spring Cloud学习笔记(九)-网关Zuul使用熔断器和过滤器

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.在Zuul上配置熔断器   上一篇提到zuul的起步依赖集成了ribbon和hystrix,接下来我们来看看如何在网关上实现熔断功能.   首先我们需要了解在Zuul中实现熔断功能需要实现ZuulFall...

2018-07-05 20:58:31 5753 3

原创 Spring Cloud学习笔记(八)-智能路由网关Zuul的配置以及网关负载均衡介绍

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.为什么需要Zuul? a.Zuul,Ribbon以及Eureka相结合,可以实现智能路由和负载均衡的功能,Zuul能够将请求流量按某种策略分发到集群状态的多个服务实例. b.网关将所有服务

2018-07-03 19:27:30 4760 2

原创 Spring Cloud学习笔记(七)-使用Turbine聚合监控

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.Turbine能解决什么问题    在使用Hystrix Dashboard组件监控服务的熔断情况时,每个服务都有一个Hystrix Dashboard主页,当服务数量很多时,监控非常不方便.为了同时监控多...

2018-06-28 19:38:13 4818 1

原创 Spring Cloud学习笔记(六)-使用Hystrix Dashboard监控熔断器的状态

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.Hystrix Dashboard是干什么的   在微服务架构中,为了保证服务实例的可用性,防止服务实例出现故障导致线程阻塞,而出现了熔断器模型.熔断器的状况反映了一个程序的可用性和健壮性,它是一个重要指标...

2018-06-27 16:08:25 3161

原创 Spring Cloud学习笔记(五)-熔断器Hystrix介绍以及Feign,RestTemplate的熔断配置

一.什么是Hystrix,能干什么?   分布式系统中服务与服务之间相互依赖,一种不可避免的情况就是当某些服务出现故障时,依赖于它们的其他服务出现远程调度的线程阻塞,在高并发的情况下,可能在几秒钟内就会使整个服务处于线程负载饱和状态,从而从一个服务不可用扩散到整个服务不可用,既雪崩效应.Hystrix是Netflix公司开源的一个项目,它提供了熔断器功能,能够阻止分布式系统中的联动故障.二....

2018-06-27 10:36:14 8842 1

原创 Spring Cloud学习笔记(四)-Feign的使用及负载均衡

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激.   以Spring Cloud作为微服务框架的项目中,我们项目与项目之间的调度大多是使用Feign来进行的.Feign的使用非常简单,首先我们在消费者服务引入Feign的起步依赖spring-cloud-star...

2018-06-21 20:52:49 3856

原创 Spring Cloud学习笔记(三)-Ribbon介绍以及配置RestTemplate的负载均衡

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.Ribbon是什么?   Ribbon是Netflix公司开源的一个负载均衡的组件,它将负载均衡逻辑封装在消费者的客户端,消费者因为维护了一份服务生产者的信息列表(将自己注册到Eureka Server后会获...

2018-06-13 20:05:31 2866

原创 Spring Cloud学习笔记(二)-构建高可用的Eureka Server集群

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.为什么要做Eureka Server集群?   在实际的项目中一般会有几十个或者几百个的微服务实例,这时Eureka Server承担了非常高的负载,所以需要对Eureka Server进行高可用集群. 二...

2018-06-13 16:04:54 3530

原创 Spring Cloud学习笔记(一)-Eureka简介以及服务端与客户端的搭建

说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激. 一.Eureka简介   Eureka是一个服务注册与发现的组件,是Netflix公司的开源产品,能与负载均衡组件Ribbon,熔断器组件Hystrix,网管组件Zuul无缝整合,是Spring Cloud最基础...

2018-06-13 11:39:27 5982

空空如也

空空如也

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

TA关注的人

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