Linux零拷贝和Netty零拷贝零拷贝概念 当某个程序或已存在的进程需要某段数据时,它只能在用户空间中属于它自己的内存中访问、修改,这段内存暂且称之为user buffer 正常情况下,数据只能从磁盘(或其他外部设备)加载到内核的缓冲区,且称之为kernel buffer TCP/IP协议栈维护着两个缓冲区:send buffer 和 recv buffer ,它们合称为 socket buffer Page Cache: 为了 2021-01-17 IO #netty
hystrix源码分析整体源码分析在回顾一下hystrix的执行流程: 执行命令入口执行 Hystrix 命令需要集成 HystrixCommand, 有四种调用方式: toObservable: 返回 Observable 对象 observe: 在调用 toObservable 的基础上, 向 Observable 上注册 rx.subjects.ReplaySubject (这些都是 rxJava 的概念) 2020-06-21 中间件 #hystrix
hystrix原理应用简介在分布式架构中,一个应用依赖多个服务是非常常见的,如果其中一个依赖由于延迟过高发生阻塞,调用该依赖服务的线程就会阻塞,如果相关业务的QPS较高,就可能产生大量阻塞,从而导致该应用/服务由于服务器资源被耗尽而拖垮。 另外,故障也会在应用之间传递,如果故障服务的上游依赖较多,可能会引起服务的雪崩效应。就跟数据瘫痪,会引起依赖该数据库的应用瘫痪是一个道理。 hystrix 是 netflix 开发的 2020-06-07 中间件 #hystrix
mysql语句加锁分析概述锁类型 S/X Lock: 读/写锁, 又称共享锁和排他锁 Gap Lock: 间隙锁, 锁的是与下一条记录之间的间隙 Next-Key Lock: Gap + Lock, 锁间隙和下一条记录(左开右闭) Insert Intention Locks: 插入意向锁, 一个事务在插入一条记录时需要判断一下插入位置是不是被别的事务加了所谓的gap锁,如果有的话,插入操作需要等待,直到拥有gap锁的 2020-03-22 mysql #mysql