前言在 Rabbitmq 官方 Github 有開源一個 k8s 操作管理 RabbitMQ clusters 環境 cluster-operator. 這個專案在2020啟動,我個人覺得官方有些說明還沒很完善,本篇文章跟大家介紹如何去使用 建立 operatorkubectl apply -f ...
初探-介紹Kubernetes
前文k8s前身是Google開發borg系統,用於管理Google系統,後面由許多borg核心開發人用利用Go語言改寫就造就Kubernetes 可以根據聲明式設定,管理、擴展我們的容器化應用編排系統 有效安全幫我們執行Container Rollout 能夠因應系統流量變化,進行伸縮擴容(Sca ...
(C#) CLR-深入淺出
前文:我們在撰寫C#時常常會聽到CLR(Common Lnguage Rumtime),但對於CLR又認知多少呢? 本篇會跟大家介紹CLR基本且核心的物件 CLR 簡介編譯器在編譯時把(C#,VB,F#….)進行編譯檢查跟把程式碼轉成MSIL中繼資料,在運行期間透過JIT(just in time) ...
CLR系列-Lock深入淺出
前言你知道object lock底層怎麼實作,可重入鎖是底層是怎麼運作的嗎? 本篇就跟大家分享這些細節. 可重入鎖Democlass Program{ static object _object = new object(); static void Main(string[] ...
多執行緒系統中不得不知-volatile
前言假如你寫過多執行緒系統一定會看過volatile,但你對他的了解有多少? MSDN對於volatile關鍵字解釋如下. volatile 關鍵字指出某個欄位可能是由同時執行的多個執行緒所修改。 編譯器、執行階段系統,甚至硬體都有可能基於效能因素,而重新排列對記憶體位置的讀取和寫入。 宣告為 v ...
高併發系統系列-多執行緒中順序 by EventWaitHandle
前言在多執行緒系統中,Thread的執行和長短是交由OS來幫我處理了 假如有一個面試題目是 目前有三個Thread 每個Thread個別負責Print “A”,”B”,”C” 要求:利用三個Thread並按照A,B,C順序打印出20次資訊,中間不能錯號 ex: A B C A B ...
高併發系統系列-使用lock & Interlocked CAS(compare and swap)
前言在之前我有寫一篇關於資料庫的ACID分享RDBMS資料庫基本原則 假如我們系統是一個多執行續高併發系統也要注意Atomic不然會造成資料會有Data Racing導致bug產生.. 本文使用範例在我github上CAS_Lock有興趣的人可以參考. 沒有注意Atomic會導致的問題我是我們公司擔 ...
高併發系統系列-不得不了解的Isolation Level(by 錢包被扣到變負值)
前言假如我跟你說下面語法在高併發系統,UserId = 101餘額會扣到變負值你們知道問題出在哪裡嗎? 本篇會跟大家解析問題所在(DB Isolation重要性) 建立樣本資料 & 問題解釋我建立一個資料表UserAccount並建立一個PK在UserID欄位上,裡面Patch一筆資料Use ...
.Net使用RabbitMq EasyNetQ介紹
前文現今越來越多系統使用MQ來達成非同步並來提升系統吞吐量,我今天想要介紹的是EasyNetQ一個封裝RabbitMq Client .net框架 小型DI容器 對於RabbitMq封裝 對於連接使用lazy connection連接RabbitMq If the server disconn ...
串接 Restcountries By Vue.js
前文最近面試有一間公司要求使用Restcountries API使用CRUD前端Html串接API,有看我文章的夥伴應該知道我大多是研究後端或CI/CD相關技術,對於前端技術較少研究,這次我打算使用vue.js來完成此次需求. 需求如下 分頁 顯示國家相關資訊 排序效果 點選國家名稱進入Detai ...