Spring Cloud
春秋战国程序猿
仓廪实而知礼节,衣食足而知荣辱
展开
-
如果前端可以拉起2个支付页面,后端如何避免重复支付
场景:1,前端可以拉取2个支付页面,这里的支付页面,指的就是支付宝或者微信等第三方渠道的输入密码进行支付的页面。2,后端预支付接口、支付回调接口、退款接口如何设计,才能保证支付的幂等性呢?...原创 2021-03-23 11:13:06 · 843 阅读 · 0 评论 -
SpringCloudZuul责任链模式实现原理知识点梳理
SpringCloudZuul责任链模式实现原理知识点梳理更多内容,可以参考之前的博文:https://blog.csdn.net/reggergdsg/article/details/99951666原创 2021-02-20 15:32:04 · 292 阅读 · 0 评论 -
Spring boot注入RestTemplate实例的2种方式
RestTemplate是我们使用的比较多的模板,用来发送http请求。大多数情况下,需要我们自己注入到Spring IOC容器。对于低版本的spring boot,比如spring boot 1.3.7,是不支持RestTemplateBuilder创建RestTemplate实例的。怎么办呢,如下:@Beanpublic RestTemplate restTemplate() { return new RestTemplate();}如果是spring boo...原创 2020-12-02 09:46:39 · 4760 阅读 · 0 评论 -
spring boot 1.3.7版本和spring boot 2.2.6版本获取端口的2种方式
spring boot 1.3.7版本,直接从environment中获取端口,这种情况下,不管是否修改默认端口,都可以获取到。package com.cr949.auto.docs.config;import com.cr949.auto.docs.constants.Constants;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;...原创 2020-12-01 15:05:53 · 367 阅读 · 0 评论 -
Spring Cloud微服务开发如何在本地进行微服务间的调用
Spring Cloud微服务开发如何在本地进行微服务间的调用实际开发中,我们一般是把微服务之间的调用放到开发环境进行联调,微服务内部的代码,通过swagger接口进行测试。那么,如果我想在本地进行微服务之间的调用,该如何实现呢?思路:1,配置中心使用开发环境的配置,这样保证服务能正常启动。2,eureka使用本地localhost:8xxx/eureka,本地启动的微服务,都注册到这个地址上。spring: profiles: dev cloud: confi.原创 2020-09-06 16:31:29 · 3918 阅读 · 0 评论 -
Eureka集群数据同步的设计思路梳理
Eureka集群数据同步包含两层含义:第一层含义:Eureka Client只会向一个Eureka Server注册服务。一个Eureka Client只会向一个Eureka Server注册服务,如果失败,会向其他Eureka Server进行重试,并且Eureka Client发起的注册请求是单条操作,不可能批量操作,具体实现在RetryableEurekaHttpClient.class中。第二层含义:Eureka Server集群之间,通过复制进行数据同步。Eure...原创 2020-08-25 18:30:04 · 1652 阅读 · 0 评论 -
Eureka源码中isReplication的业务含义是什么
官方注释是这样的:true if this is a replication event from other replica nodes, false otherwise.isReplication = true 代表这个请求是同步请求,指的是Eureka Server集群之间的数据同步。isReplication = false 代表这个请求是注册请求,指的是Eureka Client发起的服务注册请求。EurekaHttpClient.class代表的是Eureka Cli..原创 2020-08-25 18:19:44 · 729 阅读 · 0 评论 -
Eureka Server集群数据同步源码解析(上)Eureka Client发起数据同步请求
首先搞清楚一个问题:Eureka Server集群数据同步与Eureka Server集群数据备份,是同一个概念吗?很显然,不是一个概念。Eureka Server集群数据同步处理的是Eureka Client发起的数据同步请求。Eureka Server集群数据备份处理的是Eureka Server发起的数据备份请求。Eureka服务的启动类是EurekaBootStrap,这个类在eureka-core-1.4.6-source.jar包下。总体来说,Eureka Server集群数据...原创 2020-08-25 11:18:52 · 691 阅读 · 0 评论 -
自己动手,使用Spring Initializr从零开始搭建Spring Cloud项目
新建Project打开IDEA开发工具,File -> New -> Project然后一步步往下设置,然后到这一步,选择Spring CloudOK,继续一路往下,点finish,Spring Cloud项目创建完成。设置编译器版本,选择jdk版本等这里我使用的是JDK 1.8,当前主流的版本。具体操作不再赘述,网上一搜一大...原创 2020-04-02 17:06:25 · 2174 阅读 · 0 评论 -
Spring Cloud如何优雅打印日志:slf4j+logback
最近在对项目的日志进行优化,主要是如何减少不必要的日志输出,如何优化日志输出的性能,以及当前code中,一些不规范的日志输出代码的优化。基于此,对java日志进行了一个系统的梳理。今天这里,主要分享一个点,干货!具体的理论就不再重复搬运了,大家可以自行搜索脑补。Spring Cloud + Slf4j + Logback 架构打印日志的正确姿势import lombok.ext...原创 2020-03-30 16:36:21 · 4339 阅读 · 2 评论 -
大话微服务配置中心:Eureka Server与Eureka Client的契约(Lease.class)
Eureka Server与Eureka Client之间签订了一个契约(Lease.class),这是它们之间正常运转的根基。寒来暑往,年复一年,由于契约的存在,微服务系统得以提供稳定的发现注册服务。以心跳续约为例,Eureka Client每隔30秒发送一次心跳续约。Eureka Server收到客户端发来的请求后,会重新计算租期。一,一纸契约Eureka Server与E...原创 2019-12-13 16:40:01 · 408 阅读 · 0 评论 -
Spring Boot支持的配置方式有哪些(深度解析)
Spring Boot支持的配置方式有哪些(深度解析)有本书上总结了一下,大概有9种配置方式,当然还有其他方式,这里不再列举。并且这些配置方式是有优先级的,如果不同的配置方式都配置了同一个配置项,那么优先级高的胜出。下面我们来具体看。一,Spring Boot支持的配置方式Spring Boot配置的核心类是PropertySource<T>,...原创 2019-10-18 18:00:53 · 1061 阅读 · 0 评论 -
Spring Cloud Ribbon负载均衡策略详解
Spring Cloud Ribbon负载均衡策略详解。Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现,Spring Cloud集成了Netflix Ribbon,只是对Netflix Ribbon进行了一次封装。这里使用的ribbon的版本是:ribbon-loadbalancer-2.2.2.jar。...原创 2019-10-13 08:41:02 · 1019 阅读 · 0 评论 -
责任链模式实践之Zuul责任链模式
责任链模式实践之Zuul责任链模式一,什么是责任链模式责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。注意:责任链模式也叫职责链模式。在责任链模式中,客户只需要将请求发送到...原创 2019-08-21 12:36:36 · 713 阅读 · 0 评论 -
Zuul的内置过滤器详解(源码解析)
Zuul的内置过滤器详解(源码解析)从技术角度来说,Zuul的的核心就是一系列的过滤器。这些过滤器都实现了ZuulFilter接口。Zuul的过滤器ZuulFilter与Spring的过滤器Filter有什么区别?一,ZuulFilterZuulFilter是一个抽象类。ZuulFilter实现了IZuulFilter接口、Comparable接口。继承ZuulF...原创 2019-08-21 12:29:25 · 457 阅读 · 0 评论