原创 實現DevOps的三步工作法

《鳳凰項目-一個IT運維的傳奇故事》是一本比較神奇的書,用講故事的方式,展現了IT團隊(開發、測試、運維)在開發效能低、系統交付慢的情況下,通過實踐三步工作法,在團隊中實現加快系統交付、提升開發效能,使團隊走上DevOps之路。而

原创 什麼是微服務?

我所理解的微服務,就六個字:“高內聚,低耦合”。 沒錯,就是這個在軟件開發過程中被反覆提到的六個字,各類設計模式、架構設計、從入門到放棄等各種書中總會提到,從初級到高級到骨灰級程序員、架構師掛在嘴邊的也是這六個字。只不過,在微服務

原创 藍綠部署、金絲雀發佈(灰度發佈)、AB測試

隨着微服務架構的普及,線上服務越來越多,隨之而來的就是部署越來越頻繁;隨着互聯網行業的興旺,產品迭代的頻率也是越來越快,服務上線速度逐步提升。有上線、有部署,就有風險。有風險,就對業務有影響,然後就有了一系列減少這種風險的部署方案

原创 Windows 7 開機無需密碼自動登錄設置

對於自己的電腦,每次開機啓動需要輸入密碼着實麻煩,但是取消密碼又太不安全(有的時候鎖屏離開一會)。所以就想找一種方法既能保持密碼,又能在鎖屏時需要密碼解鎖。 打開程序-運行(從開始菜單中找,或者直接組合鍵win+r),鍵入ne

原创 storm筆記:Trident狀態

在storm筆記:Trident應用中說了下Trident的使用,這裏說下Trident幾種狀態的變化及其對應API的使用。 本文內容來自Trident State,部分內容根據實際情況做出修改。 Trident中有對狀態數據進行讀取和寫

原创 storm筆記:Storm+Kafka簡單應用

storm筆記:Storm+Kafka簡單應用 這幾天工作需要使用storm+kafka,基本場景是應用出現錯誤,發送日誌到kafka的某個topic,storm訂閱該topic,然後進行後續處理。場景非常簡單,但是在學習過程中,遇到一個

原创 JDK 工具一覽

Java 坑如此大,需要慢慢填。 本文是列出JDK自帶的一些工具,介於篇幅,簡單列出工具列表及工具的作用。至少先做到知道有哪些工具,然後才能在實際中用到。 本文參考了官方介紹和本機man命令的介紹。 1. 標準工具 這些工具都是JDK

原创 storm筆記:Trident應用

本文內容部分來自Trident Tutorial。 Trident是基於Storm的實時計算模型的高級抽象。它可以實現高吞吐(每秒數百萬條消息)的有狀態流處理和低延遲分佈式查詢。如果以前使用過高級批處理工具(比如Pig或Cascading

原创 HDFS 架構

前段時間搭建了一套Hadoop集羣的測試環境,因爲服務器故障,廢了。這幾天閒來無事,想着把Storm用Yarn管理起來,於是再來一遍,同時也梳理下Hadoop組件中的一些概念。所謂書讀百遍其義自見,不熟的系統多搭幾遍,總會熟悉了,也就是所

原创 代碼質量管理:SonarQube + Jenkins Pipeline配置

前段時間對自己的項目進行代碼質量掃描,曾經以爲自己的代碼質量算是不錯的,結果發現一堆的bug或者smell code,靈魂受到1w點傷害。 可以想到,在時間緊、任務中的情況下,代碼質量絕對是不能夠保證的,雖然功能算是完整,但是可能就在某個

原创 編程的樂趣與苦惱

本文是摘錄了《人月神話THE MYTHICAL MAN-MONTH》第一篇“焦油坑The Tar Pit”中的內容。【】中的內容是自己的一些想法,不好勿噴。 職業的樂趣 編程爲什麼有趣?作爲回報,它的從業者期望得到什麼樣的快樂?   首先

原创 storm筆記:storm集羣

storm筆記:storm集羣 Strom集羣結構是有一個主節點(nimbus)和多個工作節點(supervisor)組成的主從結構,主節點通過配置靜態指定(還有一種主從結構是在運行時動態選舉,比如zookeeper)。通常這種主從結構存

原创 spring-cloud-config 非對稱加密 keystore 文件加載異常

Spring Cloud Config是Spring Cloud一個全新的項目,依賴版本倉庫(比如Git、SVN)實現分佈式系統外部配置的集中管理。 文中Spring Cloud的版本是Dalston.SR4,可能在其他之後的版本

原创 storm筆記:storm基本概念

storm筆記:storm基本概念 本文主要介紹storm中的基本概念,從基礎上了解strom的體系結構,便於後續編程過程中作爲基礎指導。主要的概念包括: topology(拓撲) stream(數據流) spout(水龍頭、數據源)

原创 解決方案之任務隊列

主頁:www.howardliu.cn 博文:解決方案之任務隊列 在一些系統中,會有對某些任務狀態進行跟蹤,如果任務失敗需要重新執行任務。本文主要是針對這種請求提出解決方案,因爲時間原因,方案還沒有在代碼中實現。但是經過和朋友的推演,是