原创 深入理解主從Reactor多線程模型

基本概念 Reactor:把IO事件分配給對應的handler處理 Acceptor:處理客戶端連接事件 Handler:處理非阻塞的任務 梳理下基於主從Reactor多線程模型的事件處理過程:     Reactor主線程對象通過sel

原创 kubernetes的dashboard報錯unable to decode no kind Role is registered for version

unable to decode "https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml": no kind "

原创 java中的設計模式——代理模式,通過動態代理實現AOP

    代理模式的定義:爲其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個對象不適合或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用。     動態代理:     舉個簡單的例子 1. 模式的結

原创 Nacos服務註冊與發現配置

關於 spring-cloud-starter-alibaba-nacos-discovery 的 starter 配置項如下所示:   配置項 Key 默認值 說明 服務端地址 spring.cloud.nacos.discovery.

原创 深入理解API網關以及SpringCloud Gateway的應用

最近的項目對接中接觸到API網關的相關內容,也以此爲契機梳理下我所理解的API網關以及SpringCloud Gateway的相關內容。 什麼是API網關     一個API網關的基本功能包含了統一接入、協議適配、流量管理與容錯、以及安全

原创 MySQL數據庫的體系結構詳解,MyISAM和InnoDB存儲引擎

MySQL是單進程多線程數據庫 它分爲三層: 第一層:網絡連接層  連接與線程處理,比如連接處理、授權認證、安全等。(通信協議,線程,驗證) mysql的連接管理方式: Mysql-Server同時支持3種連接管理方式,包括No-Thre

原创 SpringBoot使用Sentinel實現資源的流量控制、熔斷降級、系統負載保護

最近和別人合作的項目進入了交付階段,需求方提出了項目流控和請求數據可視化的需求,因此我們在項目中引入了Sentinel爲資源的流量控制、熔斷降級、系統負載保駕護航。 Sentinel具有以下特徵: 豐富的應用場景:Sentinel 承接了

原创 分佈式消息中間件RocketMQ原理解析與集羣模式實戰

最近的項目開發中涉及到支付業務的模塊需要用到MQ進行業務解耦以及把用戶請求量削峯填谷,提高系統的可用性和可靠性,我們選擇了RocketMQ來部署消息中間件集羣,我也在此回顧和歸納下RocketMQ的相關知識。 什麼是RocketMQ 阿里

原创 Logstash7.4實現Kafka消息、Beats、MySQL的數據收集、解析、轉換和ElasticSearch存儲的應用場景

ElasticSearch是個是一個分佈式、可擴展、實時的搜索與數據分析引擎,如何將海量數據源高效可靠的寫入到ElasticSearch是個無法避免的 Logstash概念與原理 Logstash 是開源的服務器端數據處理管道,能夠同時從

原创 kafka消息丟失和重複消費問題

    消息如何保證可靠,是消息隊列使用過程中非常重要的問題。我們都知道,在分佈式系統中可用性是不可能達到百分百的,即使是阿里這樣的頂尖公司也不例外,如何儘可能的讓系統可用、數據可靠是一個經久不衰的問題。     kafka消息在在流式數

原创 Dubbo與SpringCloud Alibaba使用Nacos作爲配置中心和註冊中心

在工作當中,隨着技術的迭代和項目的不斷開發,Dubbo和SpringCloud Alibaba之間如何更好的整合調用是個很常見的問題, 舉個簡單的小例子 依賴: <!--config--> <depende

原创 算法進階——貪心算法、動態規劃算法

貪心算法 貪心算法主要適用於:局部最優策略能導致產生全局最優解。也就是當算法終止的時候,局部最優等於全局最優。它不是對所有問題都能得到整體最優解,選擇的貪心策略必須具備無後效性,即某個狀態以後的過程不會影響以前的狀態,只與當前狀態有關。所

原创 ElasticSearch7.4的數據類型,Mapping Type, 指定索引Document的Mapping Type

ElasticSearch7.4的數據類型,Mapping Type, 指定索引Document的Mapping Type 基礎數據類型:(ELasticsearch 5.X之後的字段類型不再支持string,由text或keyword取

原创 批量計算(batch computing)和流式計算(stream computing)在大數據領域的應用,Apache Storm、Apache Spark和Apache Flink

實時計算、離線計算、流式計算和批量計算分別是什麼?有什麼區別? 大數據的計算模式主要分爲批量計算(batch computing)、流式計算(stream computing)、交互計算(interactive computing)、圖計

原创 重溫IO中零拷貝技術實現的細節,Java對零拷貝的封裝實現

什麼是零拷貝?     零拷貝是指計算機操作的過程中,CPU不需要爲數據在內存之間的拷貝消耗資源。而它通常是指計算機在網絡上發送文件時,不需要將文件內容拷貝到用戶空間(User Space)而直接在內核空間(Kernel Space)中傳