5 lip86

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

谈谈服务雪崩、降级与熔断

引言首先,之所以谈这个话题呢,是发现现在很多人对微服务的设计缺乏认识,所以写一篇扫盲文。当然,考虑到目前大多微服务的文章都是口水文,烟哥争取将实现方式讲透,点清楚,让大家有所收获!OK,我要先说明一下,我有很长一段时间将服务降级和服务熔断混在一起,认为是一回事!为什么我会有这样的误解呢?针对下面的情形,如图所示当ServiceA调用ServiceB,失败多次达到一定阀值,Se...

2019-09-16 09:33:52

Java高级开发必会的50个性能优化的细节

在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。●1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目...

2019-09-06 15:45:57

阻塞队列BlockingQueue

BlockingQueue很好的解决了多线程中数据的传输,首先BlockingQueue是一个接口,它大致有四个实现类,这是一个很特殊的队列,如果BlockQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒。同样,如果BlockingQueue是满的,任何试图往里存东西的操作也会被阻断进入等待状态...

2019-09-06 15:05:12

Tomcat 调优的技巧 | 必学必知

转载:www.cnblogs.com/wangsen最近,看到一篇讲述Tomcat调优的文章,写得挺不错的,由于之前写了好几篇关于Tomcat的文章,这篇分享给各位读者,做一下补充。原文如下。一、描述最近,在补充自己的短板,刚好整理到Tomcat调优这块,基本上面试必问,于是就花了点时间去搜集一下Tomcat调优都调了些什么,先记录一下调优手段,更多详细的原理和...

2019-09-06 10:29:03

高并发之synchronized

作者:skywang12345链接:http://www.cnblogs.com/skywang12345/p/3479202.html概要本章,会对synchronized关键字进行介绍。涉及到的内容包括:1.synchronized原理2.synchronized基本规则3.synchronized方法和synchronized代码块4.实例锁和全局锁s...

2019-09-04 10:32:44

一文让你明白Redis持久化

网上虽然已经有很多类似的介绍了,但我还是自己总结归纳了一下,自认为内容和细节都是比较齐全的。文章篇幅有4k多字,货有点干,断断续续写了好几天,希望对大家有帮助。不出意外地话,今后会陆续更新Redis相关的文章,和大家一起学习。好了,下面开始回归正文:Redis一共有2种持久化方式,分别是RDB和AOF,下面我来详细介绍两种方式在各个过程所做的事情,特点等等。1....

2019-08-28 17:17:36

Redis主从是如何同步的?

今天想和大家分享有关Redis主从同步(也称「复制」)的内容。我们知道,当有多台Redis服务器时,肯定就有一台主服务器和多台从服务器。一般来说,主服务器进行写操作,从服务器进行读操作。那么这里有存在一个问题:从服务器如何和主服务器进行数据同步的呢?这个问题,就是通过今天的内容:主从同步来解决的。文章内容依旧比较干,一共3k+字,建议大家静下心来专心看,文末会给大家做个...

2019-08-28 16:44:25

Tomcat相关面试题,看这篇就够了!

Tomcat相关的面试题出场的几率并不高,正式因为如此,很多人忽略了对Tomcat相关技能的掌握,下面这一篇文章整理了Tomcat相关的系统架构,介绍了Server、Service、Connector、Container之间的关系,各个模块的功能,可以说把这几个掌握住了,Tomcat相关的面试题你就不会有任何问题了!另外,在面试的时候你还要有意识无意识的往Tomcat这个地方引,就比如说常见的Sp...

2019-08-23 10:00:40

探索JAVA并发 - 悲观锁和乐观锁

作者:acupt,专注Java,架构师社区合伙人!什么是悲观锁,什么是乐观锁,它们是如何实现的?定义 悲观锁:对世界充满不信任,认为一定会发生冲突,因此在使用资源前先将其锁住,具有强烈的独占和排他特性。 乐观锁:相信世界是和谐的,认为接下来的操作不会和别人发生冲突,因此不会上锁,直接进行计算,但在更新时还是会判断下这期间是否有人更新过(该有的谨慎还是不能少),再决定是重...

2019-08-20 16:23:18

详细领悟ThreadLocal变量

关于对ThreadLocal变量的理解,我今天查看一下午的博客,自己也写了demo来测试来看自己的理解到底是不是那么回事。从看到博客引出不解,到仔细查看ThreadLocal源码(JDK1.8),我觉得我很有必要记录下来我这大半天的收获,今天我研究的最多的就是这两篇文章说理解。我在这里暂称为A文章和B文章。以下是两篇博文地址,我是在看完A文章后,很有疑问,特别是在A文章后的各位网页的评论中,更...

2019-08-12 17:16:24

Linux 基础命令(收藏大全)

linux系统文件结构/根目录/bin存放必要的命令/boot存放内核以及启动所需的文件/dev存放设备文件/etc存放系统配置文件/home普通用户的宿主目录,用户数据存放在其主目录中lib存放必要的运行库/mnt存放临时的映射文件系统,通常用来挂载使用/proc存放存储进程和系统信息/root超级用户的主目录/sbin存放系统...

2019-08-12 10:44:11

还有人不懂分布式锁的实现就把这篇文章丢给他

大多数互联网系统都是分布式部署的,分布式部署确实能带来性能和效率上的提升,但为此,我们就需要多解决一个分布式环境下,数据一致性的问题。当某个资源在多系统之间,具有共享性的时候,为了保证大家访问这个资源数据是一致的,那么就必须要求在同一时刻只能被一个客户端处理,不能并发的执行,否者就会出现同一时刻有人写有人读,大家访问到的数据就不一致了。一、我们为什么需要分布式锁?在单机时代,虽然不...

2019-08-05 16:36:28

玩转linux 这些命令就够了

最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:系...

2019-08-05 15:05:13

深入理解负载均衡

前言闲来无事写篇文章总结下负载均衡。正文负载均衡负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,同时多服务器能够消除这部分的单点故障。当然负载均衡器本身就是一个单点故障隐患,可以考虑文章后面说的负载均衡双机热备或其他方案消除单点故障提高可用性。一个没有使用负载均衡的Web架构一般会长得像这样:没有负载均衡的架构...

2019-08-02 15:11:08

分布式消息队列 RocketMQ 源码分析 —— RPC 通信(一)

摘要:原创出处https://mp.weixin.qq.com/s/V_nOevq_2cbrH2_zgOSP-w「胡宗棠」欢迎转载,保留摘要,谢谢! 一、RocketMQ中Remoting通信模块概览 二、RocketMQ中Remoting通信模块的具体实现 1、Remoting通信模块的类结构图 2、消息的协议设计与编码解码 3...

2019-08-02 14:45:08

并发编程之多线程线程安全

来自:掘金(作者:蒋老湿)原文链接:https://juejin.im/post/5bd967915188257f7d68134a什么是线程安全?为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用...

2019-07-31 10:49:52

HashMap和Hashtable的区别

作者:菜鸡小王子链接:https://blog.csdn.net/qq_35181209/article/details/74503362Java架构师之路做了编排线程安全两者最主要的区别在于Hashtabl...

2019-07-30 17:09:28

Java内存区域详解

基本问题: 介绍下Java内存区域(运行时数据区)。 Java对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么) 对象的访问定位的两种方式(句柄和直接指针两种方式) 拓展问题: String类和常量池 8种基本类型的包装类和常量池 1概述(为什么要学习Java内存区域)对于Java程序员来说,在虚拟机自动内存管理机制下,不再...

2019-07-26 17:52:49

深入理解Java虚拟机

#概念虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统,是物理机的软件实现。常用的虚拟机有VMWare,VisualBox,JavaVirtualMachine(Java虚拟机,简称JVM)。Java虚拟机阵营:SunHotSpotVM、BEAJRockitVM、IBMJ9VM、AzulVM、ApacheHarmony、Go...

2019-07-22 14:10:55

分布式锁全网最详解!!

什么是锁?在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,就需要在某个地方做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设置该标记,其余后续线程发现已经有标记了,则等待拥有标记的线程结束同...

2019-07-09 16:41:32

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。