原创 用 100 行代碼手寫一個 Hystrix

熔斷與降級 離小眼睛家不遠的地方,開了一個熟食店。店內有兩個窗口總能排起長龍,一個窗口是選好的涼菜讓師傅調味,一個窗口是買到的扒雞讓胖師傅現場脫骨。顧客的正常的流程,大致是這個樣子滴:     炎炎夏日,邀三五好友,喝杯啤酒吹吹牛皮,豈

原创 手寫負載均衡算法

  概述 「負載均衡」是指,通過一定的算法使請求可以均勻的寵幸服務提供方,做到雨露均沾。市面上,軟件硬件產品一大把,解決的最最核心的問題都是選誰。   分類 按實現方式,可以分爲硬件負載均衡(如 F5 、A10)、軟件負載均衡(如 L

原创 用100行代碼手寫一個Hystrix

01GAOKAO熔斷與降級離小眼睛家不遠的地方,開了一個熟食店。店內有兩個窗口總能排起長龍,一個窗口是選好的涼菜讓師傅調味,一個窗口是買到的扒雞讓胖師傅現場脫骨。顧客的正常的流程,大致是這個樣子滴:炎炎夏日,邀三五好友,喝杯啤酒吹吹牛皮

原创 一個包子鋪看懂 I/O 模型演變

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 讀懂纔會用:Redis ZSet 的幾種使用場景

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 NIO 看破也說破(五): 搞,今天就搞,搞懂Buffer

前言   Java NIO 中的三件法寶:Channel 、Selector 和 Buffer 。前面幾節中,我們花了很大篇幅講過 Selector ,咱們今天只搞 Buffer 。希望能通過本文搞明白 Buffer 的基本用法和原理。

原创 讀懂纔會用 : 帶你見識 Redis 的 zset

快餐車 本文從代碼角度分析Redis 的 zset 結構,希望通過本文掌握如下內容: Redis 中 zset 不是單一結構完成,是跳錶和哈希表共同完成 跳錶的實現原理,跳錶升維全靠隨機 跳錶中查找、插入、刪除的三個口訣 使用場

原创 讀懂纔會用 : 瞅瞅Redis的epoll模型

上一篇提到了Redis採用epoll模型來提升鏈接處理能力。本文,我們從源代碼的角度,簡單理解Redis是如何使用epoll以及epoll的實現原理。淺入淺出~ 通過本文了解如下三件事兒,就算是達到了本文目的: 1、epoll是Linu

原创 眼中有碼,心中無碼

眼中有碼,心中無碼 日常生活中二維碼的使用已經無處不在,付款碼、微信名片、健康碼、乘車碼……一張小小的二維碼侵入到生活中的方方面面。黑白色塊組成的有限區域,如何攜帶信息。不同應用場景下的二維碼會不會重複,會不會像 IPV4 一樣

原创 讀懂纔會用 : Redis的多線程

2020.5.2日,Redis 6.0.1正式發佈。除了增加新功能和新的API,支持多線程是最大變化。本文以簡化的方式理解Redis線程模型的演進。 Redis單線程 嚴格講,Redis 並不是單線程。有後臺線程在工作,處理一