加载中
第二代网关GateWay搭建流程

Spring Cloud第二代网关GateWay是由纯Netty开发,底层为Reactor,WebFlux构建,不依赖任何Servlet容器,它不同于Zuul,使用的是异步IO,性能较Zuul提升1.6倍。搭建过程如下(本次搭建的为子项目...

Sentinel搭建流程

雪崩效应 雪崩效应如上图所示,我们在微服务中的调用链中,当一个基础微服务的API接口A不可用时,当B调用A的服务会堆积阻塞,因为我们知道我们每一次调用,无论是调用方还是服务提供方,其实...

2019/12/10 15:10
4K
RabbitMQ消息的100%投递

生产端的可靠性投递 保障消息的成功发出 保障MQ节点的成功接收 发送端收到MQ节点确认应答 完善的消息进行补偿机制 解决方案 消息落库,对消息状态进行打标 消息的延迟投递,做二次确认,回调...

Nacos搭建流程

要使用nacos,我们首先得下载它的服务端,下载地址https://github.com/alibaba/nacos/releases 根据你的Spring Cloud Alibaba版本来下载需要使用的版本 我这里是tar.gz的,下载完成后,解压,...

Feign HTTP连接的几点建议

Feign默认使用的JDK自带的HTTP方式(没有连接池,连接速率不够) Feign最大的优化点是更换HTTP底层实现(使用Apache的HTTPClient) 具体配置如下 pom io.github.openfeign ......

ConcurrentSkipListMap跳表原理解析

我们首先来看一下ConcurrentSkipListMap的继承结构图。 内部结构如下(图片来源于网络),这里面Node其实就是HeadIndex中的level1,level2,level3中的一个个绿点。 ConcurrentSkipListMap的整体数...

2019/11/29 23:57
4.9K
使用动态代理只代理接口(非实现类)

假设现在我们有一个已知的算法,我们需要写任意一个接口打上我们特有的标签,那么这个接口的方法都可以执行这个算法,好比Mybatis的Dao,或者Feign的接口。现在假设我们这个特有的标签如下:...

ConcurrentHashMap 1.8原理解析

JDK 1.8中,Hash家族有这么一些存在,HashMap,HashTable,LinkedHashMap,ConcurrentHashMap。这里面支持线程安全的有HashTable以及ConcurrentHashMap。对Hash有一个基本了解可以参考本人的从H...

2019/11/25 01:29
1.2W
Springboot自动装配整理

首先写一个我们自己的HelloWorld配置类 1、基于"注解驱动"实现@Enable模块 @Configuration public class HelloWorldConfiguration { @Bean public String helloWorld() { return "Hello,W.....

2019/11/21 17:41
1K
HTTP协议整理

URI与URL URI可以分为URL,URN或同时具备locators和names特性的一个东西 URN作用就好像一个人的名字,URL就像一个人的地址。 URN确定了东西的身份,URL提供了找到它的方式 HTTP报文头 HTTP的报...

2019/11/16 17:24
3.7K
Spring Cloud Feign源码解析

我们知道要使用feign,需要在springboot启动类放入@EnableFeignClients开关来打开feign的使用。 @EnableFeignClients @EnableZuulProxy @EnableDiscoveryClient @SpringBootApplication pub...

2019/11/03 19:51
4.5K
Spring Cloud Sleuth整合Zipkin

Sleuth是一个Spring Cloud的分布式跟踪解决方案。它由以下几个方面组成 Span(跨度):Sleuth的基本工作单元,它由一个64位的id唯一标识。除ID外,span还包含其他数据,例如描述、时间戳事件、...

Apache Dubbo 2.7孵化版整理

分析Dubbo当然要从注册开始,2.7的注册加入了非常多的方式,已经不限于Zookeeper. 基本上现在主流的注册模式都有了。 这种一看就是模版方法模式,其中Registry接口继承与两个接口Node,Regist...

2019/10/29 00:39
443
Netty整合Protobuffer

现在我们都知道,rpc的三要素:IO模型,线程模型,然后就是数据交互模型,即我们说的序列化和反序列化,现在我们来看一下压缩比率最大的二进制序列化方式——Protobuffer,而且该方式是可以跨...

ReentrantLock的可重入特性

在自旋分布式锁实现 中我们已经分析了ReentrantLock的自旋特性,现在我们来分析一下它的可重入特性。 可重入特性其实说白了就是当获得锁的线程解锁后,重新来获取锁的时候会判断自己以前是否...

2019/10/19 12:28
198
自旋分布式锁实现

最近都在说AQS,由于手头有地方要实现一个自旋分布式锁,就不得不说一下ReentrantLock的AQS了,有关锁的一般特性可以参考线程,JVM锁整理 AQS的全称为AbstractQueuedSynchronizer,抽象队列同...

2019/10/17 16:45
857
Netty整合WebSocket

WebSocket协议是基于 TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端 ,它是先进行一次Http的连接,连接成功后转为TCP连接。 现...

2019/10/15 22:47
4.8K
RabbitMQ延迟队列设置

延迟消费。比如:用户生成订单之后,需要过一段时间校验订单的支付状态,如果订单仍未支付则需要及时地关闭订单;用户注册成功之后,需要过一段时间比如一周后校验用户的使用情况,如果发现用...

2019/10/11 17:47
378
分布式秒杀

一般在具体的业务中,平台方会发布秒杀席位个数,秒杀的时间段,让各个商家报名,将自己的产品参与秒杀活动。这里将同事画的一张图放上来,大致是这么一个流程。关于秒杀原理可以参考单机秒杀...

Netty整理(三)

接Netty整理(二) ByteBuf:是数据容器(字节容器) JDK ByteBuffer 共用读写索引,每次读写操作都需要Flip() 扩容麻烦,而且扩容后容易造成浪费 关于ByteBuffer的使用方法可以参考序列化和反...

2019/10/09 00:20
789

没有更多内容

加载失败,请刷新页面

返回顶部
顶部