01 2022 档案
摘要:一、下载源码 地址:https://gitee.com/apache/rocketmq.git 二、删除pom文件下的插件 maven-gpg-plugin maven-failsafe-plugin 三、配置文件 1、随便一个目录新建一个文件夹,例如:C:\workspace下新建rocketmq
阅读全文
摘要:一、@EnableZuulProxy @Import(ZuulProxyMarkerConfiguration.class) public @interface EnableZuulProxy { } @Configuration(proxyBeanMethods = false) public c
阅读全文
摘要:一、引言 上篇,我们已经讲到了进入HystrixCommand的queue方法,方法中最关键的就是toObservable方法,利用RxJava的事件发布订阅机制,实现hystrix的功能。 二、缓存 缓存,是HystrixCommand进入toObservable方法的第一个主流程,先读缓存,如果
阅读全文
摘要:一、引言 在我们之前feign源码解析一文中,已经提到了hystrix,所以这次的分析也是接着上次feign的源码,继续展开讲解。 二、FeignClientFactoryBean创建JDK动态代理 public <T> T target(FeignClientFactoryBean factory
阅读全文
摘要:一、简介 hystrix经常被我们用于服务的熔断,降级等领域,基于RxJava(一种基于观察者模式的响应式编程框架)实现,具备服务降级、服务熔断、线程与信号隔离、请求缓存、请求合并以及服务监控等强大功能。 二、基本原理 当我们需要调用某个方法时(一般是远程调用),通过 Hystrix 将方法调用包裹
阅读全文
摘要:一、备忘录模式 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作,如 Word、记事本、Photoshop、IDEA等软件在编辑时按 Ctrl+Z 组合键时能撤
阅读全文
摘要:一、响应式编程 响应式编程是一种基于异步数据流概念的编程模式。数据流就像一条河:它可以被观测,被过滤,被操作,或者为新的消费者与另外一条流合并为一条新的流。响应式编程的一个关键概念是事件。事件可以被等待,可以触发过程,也可以触发其它事件。Rx提供了一系列的操作符,你可以使用它们来过滤(filter)
阅读全文
摘要:一、简介 Feign是一个声明式Web Service客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解
阅读全文
摘要:一、@EnableDiscoveryClient eureka的客户端主要通过一个注解@EnableDiscoveryClient或@EnableEurekaClient开启的。 共同点:都是能够让注册中心能够发现,扫描到该服务。 不同点:@EnableEurekaClient只适用于Eureka作
阅读全文
摘要:一、引言 Ribbon是实现客户端负载均衡的组件,用于spring cloud微服务中,服务间调用负载均衡。默认是轮询算法,可以配置其他算法,还可以自定义负载均衡算法。 客户端负载均衡:一个请求在客户端的时候已经声明了要调用哪个服务,然后通过具体的负载均衡算法去调用多个节点服务中的一个。 服务端负载
阅读全文
摘要:一、服务注册 eureka的服务注册是通过http请求进行的,使用的使用jersey框架,也是一种mvc架构,服务注册的控制层是ApplicationResource,访问的接口是addInstance @POST @Consumes({"application/json", "applicatio
阅读全文
摘要:一、引言 在我们使用Spring Cloud微服务开发的时候,一般采用Springboot框架,然后eureka服务端需要加一个注解@EnableEurekaServer,就从这个注解来解析eureka的源码。 二、@EnableEurekaServer @Target(ElementType.TY
阅读全文
摘要:一、配置加载 public static void main(String[] args) { ConfigurableApplicationContext ctx = SpringApplication.run(SampleTomcatApplication.class, args); Strin
阅读全文
摘要:一、引言 @SpringBootApplication public class SampleTomcatApplication { public static void main(String[] args) { SpringApplication.run(SampleTomcatApplicat
阅读全文
摘要:一、引言 传统的SSM框架开发需要多种配置文件,application.xml、springmvc.xml、web.xml等等,然后对写好的程序进行编译、打包,丢到tomcat的webapp下部署、启动。但是经过后续框架的发展,基本可以做到零配置文件,也不需要单独安装tomcat进行部署。实现的原理
阅读全文
摘要:一、构造器初始化 public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) { return run(new Class<?>[] { primarySource }, args)
阅读全文

浙公网安备 33010602011771号