上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页
摘要: RocketMQ消息支持的模式: 消息支持的模式分为三种:NormalProducer(普通同步),消息异步发送,OneWay。 消息同步发送: 普通消息的发送和接收在前面已经演示过了,在前面的案例中是基于同步消息发送模式。也就是说消息发送出去后,producer会等到broker回应后才能继续发送 阅读全文
posted @ 2019-09-11 10:48 吴振照 阅读(21096) 评论(0) 推荐(1) 编辑
摘要: 消息中间件的功能: 通过学习ActiveMq,kafka,rabbitMq这些消息中间件,我们大致能为消息中间件的功能做一下以下定义:可以先从基本的需求开始思考 最基本的是要能支持消息的发送和接收,需要涉及到网络通信就一定会涉及到NIO 消息中心的消息存储(持久化/非持久化) 消息的序列化和反序列化 阅读全文
posted @ 2019-09-10 17:34 吴振照 阅读(6702) 评论(0) 推荐(0) 编辑
摘要: 除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。由于调用关系的复杂性,如果调用链路中的某个资源不稳定,最终会导致请求发生堆积。Sentinel 熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败, 阅读全文
posted @ 2019-09-10 11:48 吴振照 阅读(10225) 评论(0) 推荐(0) 编辑
摘要: 之前我们了解了 Sentinel 集成 SpringBoot实现限流,也探讨了Sentinel的限流基本原理,那么接下去我们来学习一下Sentinel整合Dubbo及 Nacos 实现动态数据源的限流以及分布式限流。 先来看一下我的工程目录: 单服务的限流: Provider : 首先从 api 模 阅读全文
posted @ 2019-09-09 17:53 吴振照 阅读(9629) 评论(0) 推荐(0) 编辑
摘要: Sentinel限流的神秘面纱: 之前我们学习过限流比较主流的三种算法:漏桶,令牌桶,滑动窗口。而Sentinel采用的是最后一种,滑动窗口来实现限流的。 通过对Sentinel基础Api的使用,我们可用发现,从我们定义好限流规则以后,在我们需要进行业务处理之前,都需要调用一下 SphU.entry 阅读全文
posted @ 2019-09-05 16:40 吴振照 阅读(48227) 评论(10) 推荐(6) 编辑
摘要: Sentinel 是什么?官网:https://github.com/alibaba/Sentinel/wiki/介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 具有以下 阅读全文
posted @ 2019-09-02 17:22 吴振照 阅读(1777) 评论(0) 推荐(1) 编辑
摘要: 环境要求: 保证你的网络畅通。否则会遇到很多问题。 Java : 1.8.0_161. Maven : http://maven.apache.org/download.cgi 3.6.1 下载完解压,配置环境变量:vim /etc/profile MAVEN_HOME=/mysoft/maven 阅读全文
posted @ 2019-08-28 17:16 吴振照 阅读(2344) 评论(0) 推荐(0) 编辑
摘要: 高并发场景下的限流策略: 在开发高并发系统时,有很多手段来保护系统:缓存、降级、限流。 当访问量快速增长、服务可能会出现一些问题(响应超时),或者会存在非核心服务影响到核心流程的性能时, 仍然需要保证服务的可用性,即便是有损服务。所以意味着我们在设计服务的时候,需要一些手段或者关键数据进行自动降级, 阅读全文
posted @ 2019-08-22 11:58 吴振照 阅读(2433) 评论(0) 推荐(0) 编辑
摘要: 配置类型 : Spring Cloud Alibaba Nacos Config 目前提供了三种配置能力从 Nacos 拉取相关的配置。 A: 通过 spring.cloud.nacos.config.shared-configs[n].data-id 支持多个共享 Data Id 的配置。 B: 阅读全文
posted @ 2019-08-20 19:33 吴振照 阅读(21911) 评论(8) 推荐(6) 编辑
摘要: 什么是 Nacos(摘自https://nacos.io/zh-cn/docs/quick-start.html) Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构 阅读全文
posted @ 2019-08-20 17:22 吴振照 阅读(4607) 评论(0) 推荐(0) 编辑
摘要: 设计模式在Netty 中的应用(回顾): 单例模式要点回顾: 在我们利用netty自带的容器来管理客户端链接的NIOSocketChannel的时候我们会利用public static final ChannelGroup group = new DefaultChannelGroup(Global 阅读全文
posted @ 2019-08-12 20:25 吴振照 阅读(1658) 评论(0) 推荐(0) 编辑
摘要: Netty 编码器原理和数据输出: Netty 默认提供了丰富的编解码框架供用户集成使用,我们只对较常用的Java 序列化编码器进行讲解。其它的编码器,实现方式大同小异。其实编码器和解码器比较类似, 编码器也是一个handler, 并且属于outbounfHandle, 就是将准备发出去的数据进行拦 阅读全文
posted @ 2019-08-12 20:13 吴振照 阅读(1066) 评论(0) 推荐(0) 编辑
摘要: 什么是拆包/粘包: TCP 粘包/拆包: TCP 是一个“流”协议,所谓流,就是没有界限的一长串二进制数据。TCP 作为传输层协议并不了解上层业务数据的具体含义,它会根据TCP 缓冲区的实际情况进行数据包的划分,所以在业务上认为是一个完整的包,可能会被TCP 拆分成多个包进行发送,也有可能把多个小的 阅读全文
posted @ 2019-08-11 16:38 吴振照 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: SocketChannel 读取ByteBuf 的过程: 我们首先看NioEventLoop 的processSelectedKey 方法: if ((readyOps & (SelectionKey.OP_READ | SelectionKey.OP_ACCEPT)) != 0 || readyO 阅读全文
posted @ 2019-08-07 14:29 吴振照 阅读(2046) 评论(0) 推荐(0) 编辑
摘要: 内存池ByteBuf 内存回收: 在前面的章节中我们有提到, 堆外内存是不受JVM 垃圾回收机制控制的, 所以我们分配一块堆外内存进行ByteBuf 操作时, 使用完毕要对对象进行回收, 本节就以PooledUnsafeDirectByteBuf 为例讲解有关内存分配的相关逻辑。PooledUnsa 阅读全文
posted @ 2019-08-07 11:20 吴振照 阅读(2425) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页