一、概念 指在计算机执行操作时,CPU不需要先将数据从一个内存区域复制到另一个内存区域,从而减少上下文切换以及CPU的拷贝。所有的数据都是通过DMA直接内存访问技术来进行传输的。 二、作用 是在数据从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除CPU在这方面的负载。 三、技术 实现零拷贝用到的最主要技术是DMA直接内存访问和mmap内存映射文件。 3.1DMA 定义:DMA是一种计算机系统中的技术,它允许外设直接访问系统内存,而无需经过中央处理器(CPU)的干预。 用途:主要用于高速数据传输,例如从磁盘到内存,从网络适配器到内存等。它可以提...

SpringCloudGateway是一个基于SpringFramework5,ProjectReactor和SpringBoot2构建的网关服务,用于构建微服务架构中的网关。 一、Zuul与GatWay 区别 GateWay是Spring-Cloud的一个子项目。而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已。因为zuul2.0连续跳票和zuul1的性能表现不是很理想,所以催生了Spring团队开发了Gateway项目。 Zuul: 底层是servlet,Zuul处理的是http请求 依赖包spring-cloud-st...

  CdN5z36buD8j   2023年12月12日   13   0   0 微服务Cloudspring微服务Cloudspring

一、索引合并的诞生 MySQL的索引合并是一种查询优化技术,它允许优化器使用多个索引来改善对单个表的查询性能。在这种情况下,MySQL将使用多个索引来检索行,然后通过行ID合并结果。 MySQL5.0之前,一个表一次只能使用一个索引,无法同时使用多个索引分别进行条件扫描。 MySQL5.1开始,引入了indexmerge优化技术,对同一个表可以使用多个索引分别进行条件扫描。 二、索引合并的问题 虽然这个特性可以提高某些查询的效率,但它也可能带来一些问题,包括性能下降和死锁。 性能问题:在某些情况下,索引合并可能不如使用单个复合索引高效。这是因为索引合并涉及多个索引查找和行ID的合并,这...

MVCC即多版本并发控制(Multi-VersionConcurrencyControl),是一种用于数据库管理系统的技术,主要用于提高数据库系统在并发操作下的性能,同时保证事务的一致性和隔离性。其核心思想是为每个读取的数据库对象(如行或记录)提供其事务时间点的快照,而不是锁定数据以防止其他事务访问。 一、MVCC的实现 MVCC中重要的概念和结构,包括2个隐藏列(如事务ID和回滚指针)以及2个数据结构(如事务链表和ReadView)。 事务ID(TransactionID): 这是一个隐藏列,存储在每行数据中,用来标识最后修改该行的事务。 事务ID是一个唯一的标识符,它帮助数据库确定数...

  CdN5z36buD8j   2023年12月08日   15   0   0 MVCCMySQL数据库mysql数据库MVCC

一、状态机介绍与概念 介绍 SpringStateMachine是一个用于处理状态机逻辑的框架,它提供了一种简洁的方法来定义状态、转换以及在状态变更时触发的动作。 概念 状态(State):一个状态机至少要包含两个状态。例如自动门的例子,有open和closed两个状态。 事件(Event) :事件就是执行某个操作的触发条件或者口令。对于自动门,“按下开门按钮”就是一个事件。 动作(Action) :事件发生以后要执行动作。例如事件是“按开门按钮”,动作是“开门”。编程的时候,一个Action一般就对应一个函数。 转换(Transition):也就是从一个状态变化为另一个...

  CdN5z36buD8j   2023年12月07日   20   0   0 后端JavaJavaspring后端spring

一、Feign的工作原理 SpringCloudFeign是一个声明式的Web服务客户端,它使得编写Web服务客户端变得非常容易。它是基于NetflixFeign开发的,是一个轻量级的RESTfulHTTP客户端。 让我们来看一下Feign的工作原理: 声明式REST客户端:Feign提供了一种更简单的方法来定义和创建REST客户端。通过创建接口并用注解来配置请求,开发者可以非常容易地定义服务端点。 集成Ribbon和Hystrix:Feign自然集成了Ribbon(负载均衡器)和Hystrix(断路器),这意味着在使用Feign时,您可以非常容易地实现服务的负载均衡和容错。 注...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~