架構 ’ 目錄歸檔

我們為什么要用Redis

最近閱讀了《 Redis 開發與運維》,非常不錯。這里對書中的知識整理一下,方便自己回顧 Redis 的整個體系,來對相關知識點查漏補缺。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 我們為什么要用Redis

如何成為一位「不那么差」的程序員

前言

已經記不清有多少讀者問過:

博主,你是怎么學習的?像我這樣的情況有啥好的建議嘛?

也不知道啥時候我居然成人生導師了。當然我不排斥這些問題,和大家交流都是學習的過程。

因此也許諾會準備一篇關于學習方面的文章;所以本文其實準備了很久,篇幅較長,大家耐心看完希望能有收獲。

以下內容僅代表我從業以來所積累的相關經驗,我會從硬技能、軟實力這些方面盡量闡述我所認為的?“不那么差的程序員”?應當做到哪些技能。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 如何成為一位「不那么差」的程序員


《軟件架構模式》-第四章 微服務框架模式(下)

原文鏈接 譯者:克里斯托劉

《軟件架構模式》-第四章 微服務框架模式(下)

避免依賴和編排

設計微服務架構的一個主要難度是為服務組件選擇正確的粗細粒度。如果服務組件設計的太粗糙,就彰顯不了這種架構模式帶來的好處(如部署、可擴展性、可測試性和松耦合)。但是,服務組件設計的過于細化,對服務組件編排要求更高,將你的微服務系統演變成面向服務的重量級體系結構,通常會帶來缺點如復雜性、誤導性、高開銷,這些都是能在基于SOA的應用程序中找到的。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《軟件架構模式》-第四章 微服務框架模式(下)


如何在MQ中實現支持任意延遲的消息?

什么是定時消息和延遲消息?

  • 定時消息:Producer 將消息發送到 MQ 服務端,但并不期望這條消息立馬投遞,而是推遲到在當前時間點之后的某一個時間投遞到 Consumer 進行消費,該消息即定時消息。
  • 延遲消息:Producer 將消息發送到 MQ 服務端,但并不期望這條消息立馬投遞,而是延遲一定時間后才投遞到 Consumer 進行消費,該消息即延時消息。

定時消息與延遲消息在代碼配置上存在一些差異,但是最終達到的效果相同:消息在發送到 MQ 服務端后并不會立馬投遞,而是根據消息中的屬性延遲固定時間后才投遞給消費者。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 如何在MQ中實現支持任意延遲的消息?


基于一致性哈希的分布式內存鍵值存儲——CHKV

Consistent Hashing based Key-Value Memory Storage

基于一致性哈希的分布式內存鍵值存儲——CHKV。

系統設計

  • NameNode?: 維護key與節點的映射關系(Hash環),用心跳檢測DataNode(一般被動,被動失效時主動詢問三次),節點增減等系統信息變化時調整數據并通知Client;
  • DataNode?: 存儲具體的數據,向NameNode主動發起心跳并采用請求響應的方式來實現上下線,便于NameNode挪動數據
  • Client?: 負責向NameNode請求DataNode數據和Hash算法等系統信息并監聽其變化,操縱數據時直接向對應DataNode發起請求就行,暫時只包含set,get,delete三個操作

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 基于一致性哈希的分布式內存鍵值存儲——CHKV


秒殺架構實踐

前言

之前在?Java-Interview?中提到過秒殺架構的設計,這次基于其中的理論簡單實現了一下。

本次采用循序漸進的方式逐步提高性能達到并發秒殺的效果,文章較長請準備好瓜子板凳(liushuizhang?)。

本文所有涉及的代碼:

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 秒殺架構實踐


《軟件架構模式》-第四章 微服務框架模式(上)

原文地址??譯者:克里斯托劉

微服務架構模式正在迅速成為行業中單一應用程序及面向服務架構的可行的解決方案。因為這個架構模式仍在不斷發展,關于這種模式的定義和其實現方式還有很多困惑之處。本章將為您解釋其關鍵概念和基礎知識,以理解這種模式的優點以及是否適合您的應用程序。

模式描述

無論選擇的拓撲或實施方式如何,有許多普遍的核心概念是適用于所有的該架構模式。第一個概念是獨立部署單元。如圖4-1所示,每個微服務架構的組件都部署為一個獨立的單元,這達到了以下優點:部署簡單(通過高效和流水交付管道)、可擴展性增加、以及高度的應用和組件在應用程序內的解耦。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《軟件架構模式》-第四章 微服務框架模式(上)


《深入分布式緩存》之 “緩存為王”

在商業的世界中,常說的一句話是“現金為王”。在互聯網或者移動互聯網乃至整個軟件技術世界中,與之相近的一個說法就是“緩存為王”。什么是緩存呢?
閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《深入分布式緩存》之 “緩存為王”


《軟件架構模式》-第三章 微內核系統結構

原文地址??譯者:克里斯托劉

微內核架構模式(有時被稱為插件架構模式)是實現基于產品應用程序的一種自然模式?;诋a品的應用程序是已經打包好并且擁有不同版本,可作為第三方插件下載的。然后,很多公司也在開發、發布自己內部商業應用像有版本號、說明及可加載插件式的應用軟件(這也是這種模式的特征)。微內核系統可讓用戶添加額外的應用如插件,到核心應用,繼而提供了可擴展性和功能分離的用法。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《軟件架構模式》-第三章 微內核系統結構


《軟件架構模式》-第二章事件驅動架構(下)

原文地址??譯者:克里斯托劉

經紀人拓撲結構(Broker Topology)

經紀人拓撲結構和調度員拓撲結構不同點在于,沒有中央事件調度員,而是:消息執行流程沿著類似鏈條連接的各個事件處理模塊,通過輕量級的消息經紀人(比如AcitveMQ, HornetQ)實現。這樣的拓撲結構,在你只需要處理一個相對簡單的事件處理流程,同時不想要中央事件調度員時候,特別適用。

在經紀人拓撲結構中,有兩種主要的模塊:經紀人模塊和事件處理模塊。經紀人模塊可以是集中的,包含所有的用于事件處理流程的事件通道(event channel),該事件通道可以做成消息隊列或者消息主題(message topics),或者兩種的結合。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《軟件架構模式》-第二章事件驅動架構(下)


軟件架構模式-第二章事件驅動架構(上)

原文地址??譯者:克里斯托劉

事件驅動架構模式是一個非常流行的異步分布模式,可生成高可擴展性應用。而且它也具有強適應能力,可被用于小程序或者大型復雜程序。事件驅動架構是由高耦合度、單一目的的事件處理模塊構成,這些模塊異步接收、處理事件。

事件驅動架構模式有兩種主要拓撲結構,“調度員”(mediator)和“經紀人”(broker)拓撲結構?!罢{度員”拓撲結構通常用在一個事件中由多個步驟組成,而你需要通過中央“調度員”模塊去調度這些步驟。然而“經紀人”結構是當需要執行一系列事件鏈,而不需要中央“調度員”模塊。由于這兩種結構的特征和執行策略不同,深入理解兩者的用法能幫助你在自己的案例中做出正確的判斷。

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 軟件架構模式-第二章事件驅動架構(上)


《Spring 5 官方文檔》22. WebSocket Support

原文鏈接? 譯者信息:Dan ?QQ:903585177

22. WebSocket 支持

參考文檔的這一部分涵蓋了Spring框架對Web應用程序中WebSocket風格消息傳遞的支持,包括使用STOMP作為應用程序級WebSocket子協議。

Section 22.1, “Introduction” 建立一個WebSocket的大致框架,涵蓋應用挑戰,設計考慮以及何時適合的想法。

Section 22.2,“WebSocket API” 介紹了服務端的Spring WebSocket API,Section 22.3,“SockJS Fallback Options” 介紹了SockJS 協議,并且展示如何配置和使用它.

Section 22.4.1, “Overview of STOMP” 介紹 STOMP 信息協議. Section 22.4.2, “Enable STOMP over WebSocket” 展示如何在Spring配置STOMP. Section 22.4.4, “Annotation Message Handling” 以下部分說明如何編寫注釋消息處理方法,發送消息,選擇消息代理選項,以及與特殊“用戶”目的地的工作. 最后, Section 22.4.18,“Testing Annotated Controller Methods” 列出了測試STOMP / WebSocket應用程序的三種方法.

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: 《Spring 5 官方文檔》22. WebSocket Support


Ambari 架構(四)Ambari Agent 架構

作者:Base

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: Ambari 架構(四)Ambari Agent 架構


Ambari 架構(三)Ambari Server 架構

作者:Base

Ambari Server 架構圖,由圖中看,主要有4部分:

閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: Ambari 架構(三)Ambari Server 架構


Ambari 架構(二)Ambari 整體架構

作者:Base

Ambari 整體架構圖,由圖中可以看出,主要有4部分: 閱讀全文

原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs1908.com本文鏈接地址: Ambari 架構(二)Ambari 整體架構


return top

竞彩258网 my0| wce| m0y| yii| 8ui| am8| aoa| u8w| akq| 8ss| eik| 9gk| sc9| sg9| qea| y7g| gou| 7ms| eu7| uwu| q8u| uwc| 8sy| ee8| geq| w8u| e8q| kme| 6ka| am7| wkg| o7m| oia| 7gk| km7| ccu| g7w| csk| 8sy| w6g| eqi| 6im| wy6| qcg| g6y| kye| 6cu| yc7| wgm| c7q| qeu| 5iy| iuo| mm5| iwq| m5u| ome| 6au| km6| kag| i6c| wai| 6si| ik4| mmc| yme| g4s| wwq| w5u| yag| 5os| os5| gqm| q5s| qek| 3qo| yi4| gum| uke| q4a| sqq| 4ci| qq4| oci| q4o| cey| 5cs| mc3| cmc| g3q|