HappyKite777的博客 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   
  •   
(三)openfeign原理解析

(三)openfeign原理解析

2021-05-12
spring cloud
feign
(二)openfeign的使用

(二)openfeign的使用

2021-05-12
spring cloud
feign
(一)feign原理解析

(一)feign原理解析

 Feign是一种声明式、模板化的HTTP客户端。feign中文意思是模仿、假装的,顾名思义,它其实内部封装了http客户端,使得我们调用http请求时就像调用接口那么简单。来看一个简单的feign例子。[1] 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849

2021-05-12
spring cloud
feign
(四)rabbitmq消息堆积、顺序消费

(四)rabbitmq消息堆积、顺序消费

 rabbitmq问的最多的问题是使用场景、消息的可靠性保证、消息的重复消费、消息堆积的处理以及如何实现顺序消费。  使用场景:异步、消峰、限流。可靠性保证前面有讲过了。重复消费也好解决,消费端做好幂等校验即可。今天写一写关于rabbitmq的消息堆积和顺序消费问题。 1. 消息堆积 顾名思义,消息堆积是指生产者发送消息的速度远大于消费者消费消息的速度,比如发送者1s

2021-05-09
中间件
rabbitmq
(三)rabbitmq之延迟队列

(三)rabbitmq之延迟队列

1. 延迟队列 延迟队列是指进入队列后的元素不会被立即消费,而是达到一定时间后才会被消费。比如我的工作中需要实现这样一个功能。支付常常会因为一些原因导致支付报错,比如DNS解析失败等,这种情况一般客户会再次点击支付。为了避免每次报错都人工排查原因,需要实现一个功能,如果dns解析失败报错,则1分钟后主动查询订单是否支付成功,成功则不管,失败则手动排查。这时候可以采用延迟队列实现,每次报错

2021-05-09
中间件
rabbitmq
(二)rabbitmq之消息的可靠性保证

(二)rabbitmq之消息的可靠性保证

 这是一个面试中经常会被问到的问题,我之前的面试中,几乎每一家都问到了这个问题,因此在这里来做个总结。  可靠性主要是指保证消息在传递过程中,不会出现数据丢失的问题。整个消息传递过程中,消息主要经过三个节点,发送端、mq服务器、消费端,出现数据丢失可能有以下几方面: 发送端数据可能因为自身服务故障或者网络传输问题,导致消息未正确发送到mq mq收到了发送端发的消息,但是还未来

2021-05-09
中间件
rabbitmq
(一)rabbitmq简介及其消息模型

(一)rabbitmq简介及其消息模型

1. AMQP协议 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一个进程间传递异步消息的网络协议。  AMQP有以下几个概念: Broker:接收和分发消息的应用,就是处理消息的服务器,RabbitMQ Server就是Message Broker。 Virtual host:类似于namespace,通过它可以在同一个m

2021-05-08
中间件
rabbitmq
线程池ThreadPoolExecutor源码阅读

线程池ThreadPoolExecutor源码阅读

ThreadPoolExecutor数据结构123456789101112131415161718192021222324252627282930313233343536373839404142434445//7个核心参数:// 核心线程数private volatile int corePoolSize;// 最大线程数private volatile int maximumPoolSize;/

2021-04-28
java
面试必备知识点
后端面试题

后端面试题

 经过一个月的准备和接近一个月的面试,终于拿到新公司offer了。这一个月来面试了滴滴、美团、头条、阿里、腾讯、猿辅导、快手,最终拿到了滴滴、美团、猿辅导、快手四家公司的offer。面试让我深刻的体会了自己有多菜,因此决定好好研究源码,日常保持学习,这个行业,不学就会被淘汰,从此我要洗心革面搞技术,矜矜业业做业务,先在此记录下面试题目。本人毕业后刚工作两年,第一次跳槽,题目可供类似经历的

2021-04-26
后端
面试
java线程安全和锁

java线程安全和锁

1. java线程安全 按照线程安全的由强至弱的程度,可以把java语言中各种操作共享的数据分为五类:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。 java中的线程安全不可变 不可变对象一定是线程安全的,无需再进行任何安全措施保障。比如final修饰的变量等。比如java.lang.String,它的任何方法substring()、concat()等都是返回新的字符

2021-02-19
java
jvm
JVM之后端编译与优化

JVM之后端编译与优化

 把class文件转换成与本地基础设施(硬件指令集、操作系统)相关的二进制机器码,这个过程可以看做是整个编译过程的后端。   JVM 的前端编译器: Javac。后端编译器:即时编译器(JIT 编译器)和提前编译器(AOT 编译器)。  java虚拟机规范中并没有规定必须包含即时编译或者提前编译,但是这些是提升编译的一个方案,用来衡量虚拟机的品质。以下提到的即时编译器

2021-01-25
java
jvm
JVM之前端编译与优化

JVM之前端编译与优化

 编译期是一个很广泛的含义,它可能是指前端编译器(即“编译器的前端”)把.java文件转换为.class文件的过程。也可能是Java虚拟机的即时编译器(JIT编译器,Just In Time)运行期把字节码转变成本地机器码的过程。也有可能是静态的提前编译器(AOT编译器,Ahead Of Time Compile)直接把程序编译成目标机器指令集相关的二进制代码的过程。 前端编译器:J

2021-01-19
java
jvm
123

搜索

Hexo Fluid