原创 【四】Java IO與NIO的區別

一、概念      NIO即New IO,這個庫是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但實現方式不同,NIO主要用到的是塊,所以NIO的效率要比IO高很多。在Java API中提供了兩套NIO,一套是針對標準輸入輸出

原创 【八】同步、異步、阻塞、非阻塞、用戶空間、內核空間、5種io模型

一、先知概念 參考:https://www.jianshu.com/p/486b0965c296 但是我想說一下,鏈接中的這篇文章,有個概念是錯的,它裏面貼了一張圖,把I/O多路複用歸類到異步阻塞中。我認爲不存在異步阻塞這種概念。 1.1

原创 【六】Java IO 代碼例子(網絡和文件)

一、網絡IO TCP 服務端啓動引導 public class ServerBoot { private static final int PORT = 8000; public static void main(S

原创 URI、URL、URN的關機及區別

一、定義 URI :Universal Resource Identifier 統一資源標誌符,用來標識抽象或物理資源的一個緊湊字符串 URL :Universal Resource Locator 統一資源定位符,一種定位資源的主要訪問

原创 【一】Java IO流分類及各類簡介(如何將控制檯輸出定向到一個文件、怎麼關閉多層包裝的流)

參考: https://blog.csdn.net/jingzi123456789/article/details/72123937 https://blog.csdn.net/sinat_42483341/article/details

原创 【五】Java io與nio的pipe

轉自《第九節 netty前傳-NIO pipe》 pipe管道作爲線程之間通信的一種方式 首先作爲對比我們先了解下再BIO模式下的pipe的使用 Pipe爲運行在同一個JVM中的兩個線程提供了通信的能力,注意是同一個jvm上,如果在不同的

原创 HTTP簡介(報文格式、cookie、keep-alive、HTTP請求的一個完整過程)

一、HTTP簡介 HTTP(HyperText Transfer Protocol)即超文本傳輸協議,是一種詳細規定了瀏覽器和萬維網服務器之間互相通信的規則,它是萬維網交換信息的基礎,它允許將HTML(超文本標記語言)文檔從Web服務器傳

原创 分佈式事務之2pc、3pc

2pc、3pc、paxos、raft都是解決分佈式系統中的一致性問題的。 一、兩個類型的一致性(操作原子性與副本一致性) 1.2pc、3pc協議用於保證屬於多個數據分片上的操作的原子性。這些數據分片可能分佈在不同的服務器上,2PC、3PC

原创 分佈式一致性算法之Paxos

2pc、3pc、paxos、raft都是解決分佈式系統中的一致性問題的。 一、兩個類型的一致性(操作原子性與副本一致性) 1.2pc、3pc協議用於保證屬於多個數據分片上的操作的原子性。這些數據分片可能分佈在不同的服務器上,2PC、3PC

原创 分佈式之flp、cap、base理論、一致性問題、共識算法

一、CAP理論 CAP理論:在一個分佈式系統中,最多隻能滿足C、A、P中的2個。 CAP含義: C:Consistency 一致性:同一數據的多個副本是否實時相同。all nodes see the same data at the s

原创 【三】rabbitmq消費者ACK機制message acknowledgment

參考:https://www.cnblogs.com/leeSmall/p/9653219.html 一、隊列關於ACK的設置 消費者在聲明隊列時,可以指定noAck參數,當noAck=false時,RabbitMQ會等待消費者顯式發回a

原创 【四】rabbitmq高可用集羣及鏡像隊列

一、目的 允許消費者和生產者在RabbitMQ節點崩潰的情況下繼續運行 通過增加更多的節點來擴展消息通信的吞吐量 二、RabbitMQ可以通過三種方法來部署分佈式集羣系統 cluster: 不支持跨網段,用於同一個網段內的局域網 可以隨意

原创 【一】rabbitmq原理概述(exchange、queue、channel、connection、vhost)

一、架構圖 網上找的 二、exchange(交換機)  生產者發消息發往交換機,交換機會自己投遞消息到綁定的queue隊列 這裏有幾個點需要注意 1.exchange根據什麼規則把消息投遞到哪些queue中? exchange有4種類

原创 【二】rabbitmq生產者確保消息一定送達

rabbitmq中生產者確保消息一定送達到queue有兩種機制:1.事務 2.生產者消息確認機制(publisher confirm) 參考:RabbitMQ之消息確認機制(事務+Confirm) 一、事務 1.使用方法: 事務的實現主要

原创 【十一】消息中間件選型分析——從Kafka與RabbitMQ的對比來看全局

轉載:消息中間件選型分析——從Kafka與RabbitMQ的對比來看全局 一、前言 消息隊列中間件(簡稱消息中間件)是指利用高效可靠的消息傳遞機制進行與平臺無關的數據交流,並基於數據通信來進行分佈式系統的集成。通過提供消息傳遞和消息排隊模