原创 SpringCloud 教程 | 第十四篇: 服務註冊(consul)

這篇文章主要介紹 spring cloud consul 組件,它是一個提供服務發現和配置的工具。consul具有分佈式、高可用、高擴展性。 一、consul 簡介 consul 具有以下性質: 服務發現:consul通過http 方式註

原创 linux下如何部署php項目?

linux下部署php項目環境可以分爲兩種,一種使用Apache,php,mysql的壓縮包安裝,一種用yum命令進行安裝。 使用三種軟件的壓縮包進行安裝,需要手動配置三者之間的關係。apache和php之間的配置沒有什麼難度,但是和m

原创 SpringCloud教程 | 第七篇: 高可用的分佈式配置中心(Spring Cloud Config)

上一篇文章講述了一個服務如何從配置中心讀取文件,配置中心如何從遠程git讀取配置文件,當服務實例很多時,都從配置中心讀取文件,這時可以考慮將配置中心做成一個微服務,將其集羣化,從而達到高可用,架構圖如下: 一、準備工作 繼續使用上一篇文

原创 SpringCloud教程 | 第九篇: 服務鏈路追蹤(Spring Cloud Sleuth)

這篇文章主要講述服務追蹤組件zipkin,Spring Cloud Sleuth集成了zipkin組件。 一、簡介 Add sleuth to the classpath of a Spring Boot application (se

原创 SpringCloud教程 | 第十三篇: 斷路器聚合監控(Hystrix Turbine)

上一篇文章講述瞭如何利用Hystrix Dashboard去監控斷路器的Hystrix command。當我們有很多個服務的時候,這就需要聚合所以服務的Hystrix Dashboard的數據了。這就需要用到Spring Cloud的另一

原创 Mysql 工作原理

剛開始接觸一個新的事物的時候,我覺得很有必要從其工作原理入手,弄清楚這個東西的來龍去脈,爲接下來的繼續深入學習做好鋪墊,掌握好其原理有助於我們從整體上來把握這個東西,並且幫助我們在排錯過程中理清思路。接下來,還是從mysql的工作原理開始

原创 SpringCloud教程 | 第八篇: 消息總線(Spring Cloud Bus)

Spring Cloud Bus 將分佈式的節點用輕量的消息代理連接起來。它可以用於廣播配置文件的更改或者服務之間的通訊,也可以用於監控。本文要講述的是用Spring Cloud Bus實現通知微服務架構的配置文件的更改。 一、準備工作

原创 SQL 百萬級數據庫優化方案(實用!!)

sql 百萬級數據庫優化方案 1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應儘量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行

原创 SpringCloud教程 | 第十二篇: 斷路器監控(Hystrix Dashboard)

在我的第四篇文章斷路器講述瞭如何使用斷路器,並簡單的介紹了下Hystrix Dashboard組件,這篇文章更加詳細的介紹Hystrix Dashboard。 一、Hystrix Dashboard簡介 在微服務架構中爲例保證程序的可用性

原创 SpringCloud 教程 | 第一篇: 服務的註冊與發現Eureka

一、spring cloud簡介 鑑於《史上最簡單的Spring Cloud教程》很受讀者歡迎,再次我特意升級了一下版本,目前支持的版本爲Spring Boot版本2.0.3.RELEASE,Spring Cloud版本爲Finchley

原创 SpringCloud教程 | 第二篇: 服務消費者(rest+ribbon)

在上一篇文章,講了服務的註冊和發現。在微服務架構中,業務都會被拆分成一個獨立的服務,服務與服務的通訊是基於http restful的。Spring cloud有兩種服務調用方式,一種是ribbon+restTemplate,另一種是fei

原创 SpringCloud教程 | 第十篇: 高可用的服務註冊中心

文章 史上最簡單的 SpringCloud 教程 | 第一篇: 服務的註冊與發現(Eureka) 介紹了服務註冊與發現,其中服務註冊中心Eureka Server,是一個實例,當成千上萬個服務向它註冊的時候,它的負載是非常高的,這在生產環

原创 SpringCloud教程 | 第十一篇: docker部署spring cloud項目

一、docker簡介 Docker是一個開源的引擎,可以輕鬆的爲任何應用創建一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStac

原创 SpringCloud教程 | 第四篇:斷路器(Hystrix)

在微服務架構中,根據業務來拆分成一個個的服務,服務與服務之間可以相互調用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign來調用。爲了保證其高可用,單個服務通常會集羣部署。由於網絡原因或者自身的

原创 SpringCloud教程 | 第五篇: 路由網關(zuul)

在微服務架構中,需要幾個基礎的服務治理組件,包括服務註冊與發現、服務消費、負載均衡、斷路器、智能路由、配置管理等,由這幾個基礎組件相互協作,共同組建了一個簡單的微服務系統。一個簡答的微服務系統如下圖:  注意:A服務和B服務是可以相互調用