XieYi's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
think && record something

Spring-常见概念

[TOC] 什么是 Spring 框架?Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。 我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。 比如说 Spring 自带 **IoC(Inverse of Control:控制反转) 和 AOP(Aspect-Or
2021-07-30
Spring
#basic

Netty-零拷贝

零拷⻉技术是指计算机执⾏操作时,CPU 不需要先将数 据从某处内存复制到另⼀个特定区域。这种技术通常⽤于通过⽹络传输⽂件时节省 CPU 周期和内存带宽。 在 OS 层⾯上的 Zero-copy 通常指避免在用户态和内核态之间来回 拷⻉数据。 ⽽在 Netty 层⾯ ,零拷⻉主要体现在对于数据操作的优化。 使⽤ Netty 提供的 CompositeByteBuf 类, 可以将多个 ByteB
2021-07-30
Netty
#basic

Netty-长连接,心跳机制

tcp 粘包?netty 解决办法? 使⽤ Netty ⾃带的解码器 LineBasedFrameDecoder : 发送端发送数据包的时候,每个数据包之间以换⾏符作为分隔, LineBasedFrameDecoder 的⼯作原理是它依次遍历 ByteBuf 中的可读字节,判断是否有换⾏符,然后进⾏相应的截取。 DelimiterBasedFrameDecoder : 可以⾃定义分隔符解码器,
2021-07-30
Netty
#机制

Netty-线程模型

⼤部分⽹络框架都是基于 Reactor 模式设计开发的。 Reactor 模式基于事件驱动,采⽤多路复⽤将事件分发给相应的 Handler 处理,⾮常适合处理海量 IO 的场景。 在 Netty 主要靠 NioEventLoopGroup 线程池来实现具体的线程模型的 。 我们实现服务端的时候,⼀般会初始化两个线程组: bossGroup :接收连接。 workerGroup :负责具体的处理,
2021-07-30
Netty
#线程

Netty-核心组件

观念理解 channel:数据的传输通道。 msg:流动的数据。 pipeline:流水线,上面有多道工序。 handler:数据处理的工序。分为 inbound,outbound。 eventloop:处理数据的工人。 工人可以管理多个 channel 的 io 操作(一个工人内部有 selector 和 thread)。一旦工人负责了某个 channel,就要负责到底。(线程安全)。 工人既可
2021-07-30
Netty
#结构

Netty-优点,应用场景

netty 优点异步的(采用多线程实现了调用方法与返回结果的分离)基于事件驱动(本质上基于 IO 多路复用) 优势: 基于 NIO,但是改善了 NIO1,需要自己构建协议2,需要解决 TCP 传输问题,粘包半包。3,NIO 中有 epoll 空轮询 bug。4,对 API 增强了。bytebuff。 现在是 4.05.0 已经废弃,引入 AIO,性能未提升。 应用场景涉及到网络通信就会用到 net
2021-07-30
Netty
#应用

Netty-NIO三大组件

channel:双向数据传输通道filechannel:文件 datagramchannel: socketchannel: serversocketchannel: buffer:内存缓冲区bytebuffer: selector选择器? 服务器端早期–多个客户端连接==多线程: 缺点: 内存占用高。 线程上下文切换成本高。 只适合连接数较少。 线程池版本设计: 缺点: 线程
2021-07-30
Netty
#结构

Redis-缓存击穿,雪崩,穿透

[TOC] 概述首先,雪崩的概念比较容易记,就是很多个Key同时过期才会雪崩,”缓存雪崩的时候没有一个Key是无辜的”。 至于穿透和击穿,区别在于穿透是”透”,什么叫透呢,那就是不仅缓存被击穿了,数据库也被击穿了,这种才叫透。所以,这种缓存和数据库中都没有的情况叫做”缓存穿透”。 击穿是 redis 没有,直接打到 db。 缓存穿透访问一个缓存和数据库都不存在的 key,此时会直接打到数据库上,并
2021-07-30
Redis
#概念

Redis-集群

[TOC] 概述Redis有三种主要的集群模式,用于在分布式环境中实现高可用性和数据复制。这些集群模式分别是:主从复制(Master-Slave Replication)、哨兵模式(Sentinel)和Redis Cluster模式。 主从模式主从复制是Redis最简单的集群模式。这个模式主要是为了解决单点故障的问题,所以将数据复制多个副本中,这样即使有一台服务器出现故障,其他服务器依然可以继续提
2021-07-30
Redis
#集群

Redis-持久化

[TOC] Redis 的持久化机制有:RDB、AOF、混合持久化(RDB+AOF,Redis 4.0 引入)。 RDB类似于快照。在某个时间点,将 Redis 在内存中的数据库状态(数据库的键值对等信息)保存到磁盘里面。RDB 持久化功能生成的 RDB 文件是经过压缩的二进制文件。 命令:有两个 Redis 命令可以用于生成 RDB 文件,一个是 SAVE,另一个是 BGSAVE。开启:使用 s
2021-07-30
Redis
#持久化
12345

搜索