原创 一致性協議和paxos算法

集中式和分佈式的架構 所謂的集中式系統就是由由一臺或多臺主計算機組成中心節點,數據集中存儲於這個中心節點,整個系統的所有業務單元都集中部署在這個中心節點上,系統的所有功能均由其集中處理。集中式系統最大的特點就是部署結構簡單。由於集中式系統

原创 Kafka的生產者(二)

  Kafka的歷史變遷 在 Kafka 的歷史變遷中,一共有兩個大版本的生產者客戶端:第一個是於 Kafka 開源之初使用 Scala 語言編寫的客戶端,;第二個是從 Kafka 0.9.x 版本開始推出的使用 Java 語言編寫的客戶

原创 Mysql鎖機制解析

MySql支持可插拔的存儲引擎,不同存儲引擎使用的鎖機制不盡相同。MySql常用的存儲引擎爲InnoDB、MyISAM、MEMORY等一般我們在需要數據庫事物支持的互聯場景下主要使用 InnoDB(MySQL 5.5.5以上版本的默認存儲

原创 SpringRetry重試機制

前言 Spring實現了一套重試機制,功能簡單實用。Spring Retry是從Spring Batch 2.2.0版本中獨立出來,變成了Spring Retry模塊。,已經廣泛應用於Spring Batch,Spring Integra

原创 Java的NIO和Netty入門(Netty權威指南)

I/O早期的問題 Java 1.4之前的早期版本,Java對I/O的支持並不完善,開發人員在開發高性能I/O程序的時候,會面臨以下挑戰和困難 沒有數據緩衝區,I/O性能存在問題; 沒有C或者C++中的Channel概念,只有輸入和輸出流;

原创 Netty中的粘包和拆包問題

TCP中的粘包和拆包 簡述TCP的粘包和拆包 TCP編程中無論是服務端還是客戶端,讀取和發送消息時都要考慮TCP底層的粘包和拆包機制,TCP是一個‘流’協議,數據是沒有界限的,TCP底層不知道上層業務數據的含義,它會根據TCP緩衝區的實際

原创 Kafka的介紹和安裝(一)

  初識Kafka Kafka 起初是由 LinkedIn 公司採用 Scala 語言開發的一個多分區、多副本且基於 ZooKeeper 協調的分佈式消息系統,現已被捐獻給 Apache 基金會。目前 Kafka 已經定位爲一個分佈式流式

原创 Kafka的消費者(三)

消費者和消費組 消費者(Consumer)負責訂閱 Kafka 中的主題(Topic),並且從訂閱的主題上拉取消息。與其他一些消息中間件不同的是:在 Kafka 的消費理念中還有一層消費組(Consumer Group)的概念,每個消費者

原创 Java的I/O模型基礎

I/O早期的問題 Java 1.4之前的早期版本,Java對I/O的支持並不完善,開發人員在開發高性能I/O程序的時候,會面臨以下挑戰和困難 沒有數據緩衝區,I/O性能存在問題; 沒有C或者C++中的Channel概念,只有輸入和輸出流;

原创 記錄一次內存泄漏排查

問題說明 1. 網貸目前體系架構下,資金方進件審批結果,資金方放款結果,都需要跑批系統自動執行 拉取業務結果job來拉取, 該job執行間隔設置爲1分鐘 2. 在測試過程中發現,一段時間過後就發現跑批執行運來越慢,結果長期無法準時拉

原创 面試總結

你們有沒有做MySQL讀寫分離?如何實現mysql的讀寫分離?MySQL主從複製原理的是啥?如何解決mysql主從同步的延時問題? 這個,高併發這個階段,那肯定是需要做讀寫分離的,啥意思?因爲實際上大部分的互聯網公司,一些網站,或者是ap

原创 zookeeper

zookeeper的簡介 Apeche Zookeeper是由Apache Hadoop的子項目,起源於雅虎研究院的一個研究小組開發的一個無單點問題的分佈式協同服務系統,這就是zookeeper,主要提供:統一命名服務、組成員管理、配置管

原创 Kafka消費者(四)

Kafka中的offset 對於 Kafka 中的分區而言,它的每條消息都有唯一的 offset,用來表示消息在分區中對應的位置。對於消費者而言,它也有一個 offset 的概念,消費者使用 offset 來表示消費到分區中某個消息所在的

原创 Kafka學習(一)

初識Kafka Kafka 起初是由 LinkedIn 公司採用 Scala 語言開發的一個多分區、多副本且基於 ZooKeeper 協調的分佈式消息系統,現已被捐獻給 Apache 基金會。目前 Kafka 已經定位爲一個分佈式流式處理

原创 RabbitMQ的總結(二)

使用Spring Boot整合RabbitMQ來演示hello word 配置文件:application.properties spring.rabbitmq.host=119.65.182.47 spring.rabbitmq.po