原创 Zuul網關生產部署實踐

介紹 Zuul是Netflix開源的微服務網關,在Netflix經過大規模生產驗證,在業界很多公司有落地案例。 本文介紹Zuul網關的一些生產部署實踐。 Zuul參考部署架構 上圖是一個可供參考的Zuul部署架構,總體可以簡化爲一個

原创 微服務發佈模式

一、前言 根據2017年的DevOps發展報告,高效能組織和低效能組織在軟件交付的效率上有數量級上的差異。技術組織的軟件交付能力是一種綜合能力,涉及衆多環節,其中發佈是尤爲重要的環節。 作爲技術人員,大家可能聽說過“滾動發佈”和“藍綠

原创 架構師必須知道的架構設計原則

一、前言 如果一個技術已經存在3年,比如現在很火的前端技術react和vue等,那麼我能預估這個技術大致還有3年的生命期,再久就不確定了;如果一個架構或設計原則已經存在15年,例如單一職責和依賴倒置原則,我可以預期它還有15年甚至更久

原创 微服務2.0技術棧選型手冊

一、前言 2014年可以認爲是微服務1.0的元年,當年有幾個標誌性事件,一是Martin Fowler在其博客上發表了“Microservices”一文,正式提出微服務架構風格;二是Netflix微服務架構經過多年大規模生產驗證,最終

原创 微服務爲什麼要配置中心?

一、介紹 在系統架構中,和安全、日誌、監控等非功能需求一樣,配置管理也是一種非功能需求。配置中心是整個微服務基礎架構體系中的一個組件,如下圖,它的功能看上去並不起眼,無非就是簡單配置的管理和存取,但它是整個微服務架構中不可或缺的一環。

原创 四種核心架構思維

一、介紹 架構的本質是管理複雜性,抽象、分層、分治和演化思維是我們工程師/架構師應對和管理複雜性的四種最基本武器。 最近團隊來了一些新人,有些有一定工作經驗,是以高級工程師/架構師身份進來的,但我發現他們大部分人思維偏應用和細節,抽象

原创 Zuul1和Zuul2該如何選擇?

介紹 在今年5月中,Netflix終於開源了它的支持異步調用模式的Zuul網關2.0版本,真可謂千呼萬喚始出來。從Netflix的官方博文[附錄1]中,我們獲得的信息也比較令人振奮: The Cloud Gateway team a

原创 工程師成長快車道

介紹 今年公司來了不少應屆生還有實習生,我多次受邀給他們做一些和成長相關的分享,獲得良好反饋,我想可以把這些分享總結成文,一方面下次自己就不用頻繁去講,新人來讓他們看文章就好了,另一方面也是想把自己的心得分享給更多社會上的處在職業早期

原创 成長型組織如何突破技術困局?

前言 2017年我全程參與了一家成長型組織的技術架構轉型升級,本文是在2016年底,在正式啓動技術轉型之前,我個人的一些戰略思考總結。現在轉型已經取得階段性成果,回過頭來看,對於大部分成長型組織的技術轉型升級,我認爲本文還是蠻有借鑑價

原创 中國式微服務技術棧2.0

前言 近年,Spring Cloud儼然已經成爲微服務開發的主流技術棧,在國內開發者社區非常火爆。我近年一直在一線互聯網公司(攜程,拍拍貸等)開展微服務架構實踐,根據我個人的一線實踐經驗和我平時對Spring Cloud的調研,我認爲

原创 微服務配置組件變色龍Archaius

介紹 如果我們要設計開發一套微服務基礎架構,大家覺得哪個組件是最基礎的?基於多年互聯網分佈式系統的實戰經驗,我的回答是配置中心以及配套的客戶端。之前我在極客時間上的課程《微服務架構和實踐160講》中,已經深度剖析了攜程開源的Apol

原创 四個架構設計案例及其思維方式

一、介紹 架構的本質是管理複雜性,抽象、分層、分治和演化思維是我們工程師/架構師應對和管理複雜性的四種最基本武器。 在上一篇架構之道~四種核心架構思維中,我先介紹了抽象、分層、分治和演化這四種應對複雜性的基本武器。在本篇《架構之道~四

原创 Zuul網關路由管理實踐

介紹 網關的核心功能之一是路由轉發,爲此,網關需要獲取並維護一張路由表,這個路由表簡單可以理解爲一個服務名<>服務地址的映射表,有了這張路由表,網關就可以根據請求路徑或者HTTP頭中的服務信息,將請求轉發到對應的目標服務地址。 Zuu

原创 Netflix微服務架構是如何分層的?

介紹 在之前一篇BFF和網關是如何演化出來的文章中,我向大家解釋了BFF和網關Gateway是什麼,在微服務架構體系中各承擔什麼職責,以及它們是如何演化出來的。 在本文和後續一篇文章中,我會分析Netflix(本文)和SoundClo

原创 波波的技術選型哲學

一、前言 技術選型是一個很熱門的話題,最近我看到自己的微信朋友圈有好幾篇關於技術選型的文章,讀者對這類主題的熱情很高。在技術組織內部,技術人員經常會面臨技術選型問題,有時候,技術選型還常常牽扯好幾波干係人,相互之間還會產生爭議,有的甚