SpringCloud之Ribbon负载均衡配置
摘要:一、负载均衡解决方案分类及特征 业界主流的负载均衡解决方案有: 1.1 集中式负载均衡 即在客户端和服务端之间使用独立的负载均衡设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负责把访问请求通过某种策略转发至服务端。 1.2 进程内负载均衡 将负载均衡逻辑集成到客户端组件中,客户
阅读全文
posted @
2019-09-30 13:59
kosamino
阅读(4034)
推荐(0) 编辑
基于Zookeeper实现分布式锁
摘要:为什么需要分布式锁 锁是多线程代码中的概念,只有当多任务访问同一个互斥的共享资源时才需要。如下图: 在我们进行单机应用开发,涉及并发同步的时候,我们往往采用synchronized或者Lock的方式来解决多线程间的代码同步问题,这时多线程的运行都是在同一个JVM之下。但当我们的应用是分布式集群工作的
阅读全文
posted @
2019-09-29 12:03
kosamino
阅读(5633)
推荐(2) 编辑
SpringCloud之Eureka注册中心原理及其搭建
摘要:一、Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服
阅读全文
posted @
2019-09-28 04:28
kosamino
阅读(93895)
推荐(11) 编辑
SpringBoot定时任务(schedule、quartz)
摘要:Scheduled 只适合处理简单的计划任务,不能处理分布式计划任务。优势:是spring框架提供的计划任务,开发简单,执行效率比较高。且在计划任务数量太多的时候,可能出现阻塞,崩溃,延迟启动等问题。 Scheduled定时任务是spring3.0版本之后自带的一个定时任务。其所属Spring的资源
阅读全文
posted @
2019-09-20 02:42
kosamino
阅读(50249)
推荐(7) 编辑
Java和操作系统交互(Java 代码是怎么执行)(转)
摘要:结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器、控制器、存储设备,以及输入输出设备,如下图所示. 我们先来分析 CPU 的工作原理,现代 CPU 芯片中大都集成了,控制单元,运算单元,存储单元.控制单元是 CPU 的控制中心,
阅读全文
posted @
2019-09-18 22:07
kosamino
阅读(2734)
推荐(0) 编辑
深入SpringBoot注解原理及使用
摘要:首先,先看SpringBoot的主配置类: 点进@SpringBootApplication来看,发现@SpringBootApplication是一个组合注解。 首先我们先来看 @SpringBootConfiguration: 可以看到这个注解除了元注解以外,就只有一个@Configuratio
阅读全文
posted @
2019-09-11 03:06
kosamino
阅读(16389)
推荐(5) 编辑
Spring事务的配置、参数详情及其原理介绍(Transactional)
摘要:Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。 声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一
阅读全文
posted @
2019-09-10 04:05
kosamino
阅读(9537)
推荐(1) 编辑
MySQL间隙锁问题
摘要:间隙锁(Gap Lock):锁加在不存在的空闲空间,可以是两个索引记录之间,也可能是第一个索引记录之前或最后一个索引之后的空间。 最近用户反馈说系统老是出现insert时,等待超时了,最后发现是insert间隙锁!间隙锁是innodb中行锁的一种, 但是这种锁锁住的却不止一行数据,他锁住的是多行,是
阅读全文
posted @
2019-09-09 02:35
kosamino
阅读(3734)
推荐(1) 编辑
Spring7大模块
摘要:Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。 每个模块的功能如下: 核心容器:核心容器提供 Spr
阅读全文
posted @
2019-09-08 04:25
kosamino
阅读(3693)
推荐(0) 编辑
Spring的启动流程
摘要:spring的启动是建筑在servlet容器之上的,所有web工程的初始位置就是web.xml,它配置了servlet的上下文(context)和监听器(Listener),下面就来看看web.xml里面的配置: 接下来就一点的来解析这样一个启动过程。 1. spring的上下文监听器 代码如下:
阅读全文
posted @
2019-09-08 04:17
kosamino
阅读(2692)
推荐(1) 编辑
Spring源码解析 - springMVC核心代码
摘要:一、首先来讲解下springMVC的底层工作流程 1、首先我们重点放在前端控制器(DispatcherServlet) 其类图: 因为从流程图看,用户的请求最先到达就是DispatcherServlet。他是springmvc的核心,也是中央出处理器。因此我们分析源码,先看看他是什么样的流程:通过源
阅读全文
posted @
2019-09-06 02:52
kosamino
阅读(670)
推荐(1) 编辑
SpringMVC的工作原理(转)
摘要:SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处
阅读全文
posted @
2019-09-05 09:24
kosamino
阅读(211)
推荐(1) 编辑