摘要:
Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它既可完成。 我们只需要在相应的接口上添加@FeignClient注解即可将他声明为一个web客户端。这其中的原理我们后续分析。我们首先先关注 阅读全文
摘要:
上文我们分析到 loadBalancer 根据具体的算法选择相应的server。 loadBalancer是定义软件负载均衡器操作的接口,共有以下几个实现类 本文便从loadBalancer开始分析ribbon具体的负载均衡策略 LoadBalancer 首先看AbstractLoadBalance 阅读全文
摘要:
Spring Cloud Ribbon主要用于客户端的负载均衡。最基本的用法便是使用RestTemplate进行动态的负载均衡。我们只需要加入如下的配置便能完成客户端的负载均衡。 这里的@LoadBalanced使得RestTemplate可以使用LoadBalancerClient,在LoadBa 阅读全文
摘要:
今天写了个拦截器对一些mapping做了些处理,写完之后突然很想看看拦截器是怎么加进spring里面。对着源码debug了一遍。又有了新的收获。 1.拦截器的实现 1.实现HandlerInterceptor 2.将拦截器加入到拦截链里面去,这里可以实现 也可以继承 只是 WebMvcConfigu 阅读全文
摘要:
接着上文kafka的简述,这一章我们一探kafka生产者是如何发送消息到消息服务器的。 代码的入口还是从 最终我们就会到 这里的关键就是 我们再一路点击下去,一直到 这里将步骤分为五步 所以看到这里我们就明白了,kafka不是直接将数据发送到服务器。而是缓存到内存中,知道大于batchsize才去做 阅读全文
摘要:
kafka是一个分布式的,可分区的,可备份的日志提交服务,它使用独特的设计实现了一个消息系统的功能。 由于最近项目升级,需要将spring的事件机制转变为消息机制,针对后期考虑,选择了kafka作为消息中间件。 kafka的安装 这里为了快速搭建,选择用docker kafka的基本概念 这里参照 阅读全文
摘要:
转载请标注来源:https://www.cnblogs.com/xmzJava/p/9380649.html 前言 在分析多线程的文章中,我们知道了Executors是通过阻塞队列接受任务。例如 FixedThreadPool 使用的是 LinkedBlockingQueue, CachedThre 阅读全文
摘要:
1.前言 最近一直在看Springboot和springcloud代码,看了将近20多天,对这两个系统的认知总算是入了门。后续应该会有一个系列的文章,本文就先从Springboot的启动入手. 2.容器初始化 上面的代码是Springboot的入口,现在从run方法进去 点击进来后到了这里就会分成两 阅读全文
摘要:
前言 上文讲述ioc框架的实现,本文开始讲述aop。在spring中aop也有3种配置方式,注解形式的我们先不讨论。我们先看看xml形式的配置方式。 上述配置是纯xml形式的配置,这样的配置结构清晰明了,就是看起来有点臃肿。 spring中提供了四种Advice用来支持对方法调用时施加的不同行为,通 阅读全文
摘要:
前言 关于Spring,我想无需做太多的解释了。每个Java程序猿应该都使用过他。Spring的ioc和aop极大的方便了我们的开发,但是Spring又有着不好的一面,为了符合开闭原则,Spring的一个方法可以涉及到好几十个类,从设计上来说,这样的设计易于宽展,职责明确。但从开发角度而言,Spri 阅读全文