- 博客(16)
- 资源 (4)
- 收藏
- 关注
原创 Ribbon的负载均衡策略及原理
Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法。像nginx可以使用负载均衡分配流量,ribbon为客户端提供负载均衡,dubbo服务调用里的负载均衡等等,很多地方都使用到了负载均衡。使用负载均衡带来的好处很明显:当集群里的1台或者多台服务器down的时候,剩余的没有down的服务器可以保证服务的继续使用使用了更多的机器保证了机器的良性使用,不会由于...
2018-06-27 15:21:15 70295 4
原创 Eureka自我保护机制
默认情况下,当eureka server在一定时间内没有收到实例的心跳,便会把该实例从注册表中删除(默认是90秒),但是,如果短时间内丢失大量的实例心跳,便会触发eureka server的自我保护机制,比如在开发测试时,需要频繁地重启微服务实例,但是我们很少会把eureka server一起重启(因为在开发过程中不会修改eureka注册中心),当一分钟内收到的心跳数大量减少时,会触发该保护机制。...
2018-06-27 15:18:25 9361
原创 本地优先策略
假如我们有两个服务,A和B,他们分别在深圳和成都都有一个实例,A作为消费者来调用服务提供者B,在轮询负载均衡方式下,那么深圳的A实例的请求将会有一半跑到深圳实例B,另一半跑到成都实例B,深圳和成都相隔千里,仅光速来回就要几十毫秒,而且两个属于不同网段,可能还有其它路由的消耗,最好的办法是深圳A实例优先请求深圳B实例,只有在深圳B实例不可用时才去请求成都B实例。要解决这个问题,就要解决微服务的区域感...
2018-06-27 12:58:56 752
原创 源码学习——配置中心
config client:入口是PropertySourceBootstrapConfigurationconfig server提供一个EnvironmentController暴露接口给config client来获取配置信息
2018-06-27 10:37:47 461
原创 源码学习——bean注入
spring boot有很多方式让我们注入bean,最常用有:1、通过注解方式,如@component、@Service等2、在配置类内使用@Bean下面是其它注入bean的方式及其源码解读
2018-06-27 10:29:37 164
原创 Spring Cloud 学习笔记6——消息总线
消息总线和配置中心是微服务架构的两个重要组件Spring Cloud Bus目前仅支持两款中间件产品:RabbitMQ和KafkaRabbitMQ及Kafka安装请看消息队列相关笔记整合RabbitMQ1、引入AMQP依赖pom.xml文件中加入: <dependency> <groupId>org.springframework.boot...
2018-06-22 13:12:46 2811
转载 JVM内存区域
https://blog.csdn.net/shiyong1949/article/details/52585256https://blog.csdn.net/qq_36859415/article/details/53407439
2018-06-20 18:15:35 135
原创 Spring @Async异步调用(异步线程池)
在spring boot应用中使用@Async很简单:1、启动类加上@EnableAsync 2、在需要被异步调用的方法外加上@Async第二种使用@Async的方式是通过xml配置,后面有说到。一、异步线程池TaskExecutor其实质还是java.util.concurrent.ExecutorSpring 已经实现的异步线程池: 1. SimpleAsyncTaskExecutor:不...
2018-06-20 18:11:03 14283 2
原创 default用于接口
jdk1.7之前,interface里面只能声明方法,不能包含方法体,jdk1.8之后,用default修饰的方法可以有方法体,用public修饰的方法只能是方法声明。这样做的好处是:因为一个类可以实现多个接口,但只能继承一个类(包括抽象类),这样做可以间接实现了一个类继承多个类(因为interface也能包含方法体,可以充当抽象类)...
2018-06-20 09:49:28 296
原创 限流
自己简单实现:假设每秒限流次数为10,则每0.1秒向队列里插入一个元素,队列最大为10,每次调用的时候,从队列中取出一个元素,当队列为空时,则说明达到限流阈值。别人封装好的实现:...
2018-06-13 10:24:58 154
原创 @Aspect与@ControllerAdvice
@Aspect@Aspect用于实现Spring AOP,可以在被调用的方法执行前、执行后增加自定义的逻辑,Aspect的使用很简单,如下:1、创建一个Aspect类(就是一个普通的类),在类前面加入如下两个注解:@Aspect@Component2、创建切点 //切点 @Pointcut("execution(public * com.xxx.xxxx.controll...
2018-06-12 10:14:57 10435 4
转载 Spring Cloud与Spring Boot版本匹配关系
Spring Cloud是什么?“Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems.” Spring Cloud为开发者提供了一套可以用来快速搭建分布式系统中常见模式的工具。提取主干即是Spring Cloud提供了一套工具。这...
2018-06-09 12:49:53 558
转载 Couldn't reserve space for cygwin's heap, Win32 error 487
Git提交或拉取的时候发生Couldn't reserve space for cygwin's heap, Win32 error 487 错误,解决方法是:找到Git的安装目录的bin文件夹,在此处打开命令窗口,执行以下命令:rebase.exe -b 0X50000000 msys-1.0.dllrebase.exe和msys-1.0.dll都是bin文件夹里的文件...
2018-06-09 12:12:47 401
原创 Spring boot缓存
自己实现的缓存方案:https://blog.csdn.net/z562743237/article/details/79296153Spring Boot提供的缓存:https://blog.csdn.net/luckyxl029/article/details/79420334https://www.cnblogs.com/bobsha/p/6507165.html...
2018-06-05 10:32:43 477
深入浅出oracle pdf
2016-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人