摘要: 什么是 I/O 在计算机系统中I/O就是输入(Input)和输出(Output)的意思,针对不同的操作对象,可以划分为磁盘I/O模型,网络I/O模型,内存映射I/O, Direct I/O、数据库I/O等,常见的I/O有磁盘I/O和网络I/O。 什么是IO的Block呢?考虑下面两种情况: 用系统调 阅读全文
posted @ 2020-01-05 14:37 qingfengEthan 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 三、Hystrix容错 Hystrix的容错主要是通过添加容许延迟和容错方法,帮助控制这些分布式服务之间的交互。 还通过隔离服务之间的访问点,阻止它们之间的级联故障以及提供回退选项来实现这一点,从而提高系统的整体弹性。Hystrix主要提供了以下几种容错方法: 资源隔离 熔断 降级 1、资源隔离 线 阅读全文
posted @ 2019-12-28 21:24 qingfengEthan 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 同步锁 使用 java关键字synchronize 来做同步处理时,锁的获取和释放都是隐式的,实现的原理是通过编译后加上不同的机器指令来实现。 ReentrantLock 就是一个普通的java类,它是基于 AQS(AbstractQueuedSynchronizer)来实现同步锁。AQS 是 Ja 阅读全文
posted @ 2019-12-17 21:15 qingfengEthan 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 一、为什么要用hystrix 在大中型分布式系统中,通常系统很多依赖,如下图: 在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络连接缓慢,资源繁忙,暂时不可用,服务脱机等,如下图: 在高流量的情况下,一个后端依赖项的延迟可能导致所有服务器上的所有资源在数秒内饱 阅读全文
posted @ 2019-12-11 22:08 qingfengEthan 阅读(1211) 评论(0) 推荐(0) 编辑
摘要: 一、Redis简介 Redis是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(String),散列(Hash),列表(List),集合(Set),有序集合(Sorted Set或者是ZSet)与范围查询,Bitmaps,Hyperlo 阅读全文
posted @ 2019-11-28 18:38 qingfengEthan 阅读(760) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Spring的依赖注入,有哪些方法进行依赖注入 依赖注入是IOC的一个方法,就是调用者不用创建对象,只需要描述对象如何创建,描述哪些组件需要哪些服务,之后IOC容器把他们组装起来。 构造器依赖注入 :通过容器触发一个类的构造器来实现,该类有一系列参数,每一个参数代表一个对其他类的依赖。 s 阅读全文
posted @ 2019-11-26 18:02 qingfengEthan 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 一、Bean 的完整生命周期 在传统的Java应用中,bean的生命周期很简单,使用Java关键字 new 进行Bean 的实例化,然后该Bean 就能够使用了。一旦bean不再被使用,则由Java自动进行垃圾回收。 相比之下,Spring管理Bean的生命周期就复杂多了,正确理解Bean 的生命周 阅读全文
posted @ 2019-11-21 17:34 qingfengEthan 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1、什么是RabbitMQ?为什么要使用RabbitMQ? RabbitMQ是一款开源的、Erlang语言编写的、基于AMQP协议的消息中间件。 解耦:实现消费者和生产者之间的解耦 异步:将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度 削峰:将高并发时的同步访问变为串行访问达到一 阅读全文
posted @ 2019-10-16 17:34 qingfengEthan 阅读(2646) 评论(0) 推荐(2) 编辑
摘要: 1. 索引 当MySQL单表记录数过大时,增删改查性能都会急剧下降。MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度。一般以整型值为主的表在千万级以下,字符串 阅读全文
posted @ 2019-08-09 19:14 qingfengEthan 阅读(1550) 评论(0) 推荐(0) 编辑
摘要: CAP理论 C: (Consistency) 一致性 在分布式系统中,数据能够在多个副本之间保持一致的特性。对于有多个副本的分布式系统来说,如果数据在一个节点上进行修改,其他节点尚未同步数据,当在其他节点上读取操作的时候,读取的还是老的数据。这就是分布式数据不一致。 在分布式系统中,如果更新一个节点 阅读全文
posted @ 2019-08-09 18:15 qingfengEthan 阅读(379) 评论(0) 推荐(0) 编辑