1. 程式人生 > >Spring Cloud介紹與環境搭建(一)

Spring Cloud介紹與環境搭建(一)

前言

使用Spring Cloud需要用到Spring boot的知識,如果沒有相關經驗,請參考Spring Boot的簡單使用(二),做一個簡單的入門。

Spring Cloud系列部落格是基於MyEclipse開發工具的。

LAMP專案

傳統的單體專案用一個LAMP結構就可以完成,L:Linux;A:Apache;M:MySQL;P:PHP。在一臺伺服器上,我們就能完成整個專案的搭建。

因為是放置於一個Apache伺服器裡,我們的專案結構一般就如下所示:


前端採用JSP等檢視,後臺採用servlet等MVC框架,整體專案採用Spring容器,持久層採用Hibernate或者MyBatis做資料連線。最後把我們編譯好的專案打成war包(或者編譯好的位元組碼檔案),放到我們的Apache伺服器裡,啟動服務,使用者訪問Tomcat伺服器,就能獲取到自己需要的資訊。


但是,在這一個單一的伺服器裡,每當我們有新的程式碼需要釋出,都會使得我們的war不斷龐大,最後成為一個臃腫的怪物,啟動耗時不必多說,所有的程式碼都放在一個war包裡,萬一某個class檔案的一個方法出現了記憶體洩露,迎來的就是整個專案的宕機,如果是一個傳統行業的專案,和客戶說一下,除錯解決可能就處理好問題了,但是,如果作為一個網際網路行業的專案,可能停機一個小時,就意味著公司的破產倒閉。

單體專案的優化

把各個功能模組的程式碼寫在一起的弊端,催生了面向服務架構(SOA)的出現,將耦合在一起的功能程式碼做拆分,每一個功能模組都作為單一的能力或服務,接入到平臺上,如果其中某個服務宕機了,也不會影響整個專案的執行。


企業服務匯流排(Enterprise Service Bus,ESB)從面向服務架構(Service-Oriented Architecture,SOA)發展而來,是傳統中介軟體技術與XML、Web服務等技術結合的產物。ESB提供了網路中最基本的連線中樞,是構築企業神經系統的必要元素。ESB採用了“匯流排”這樣一種模式來管理和簡化應用之間的整合拓撲結構,以廣為接受的開放標準為基礎來支援應用之間在訊息、事件和服務級別上動態的互連互通,是一種在鬆散耦合的服務和應用之間標準的整合方式。


微服務架構

微服務架構和麵向服務架構在理念上是相同的,只不過微服務架構在服務的拆分上更細膩,譬如銷售模組可以進一步拆分成“食品銷售”和“玩具銷售”。


關於NetFlix

Netflix是一個網際網路影片提供商,是美國視訊巨頭,隨著Netflix轉型為一家雲端計算公司,Netflix公司成立了自己的開源中心,名稱為Netflix Open Source Software Center,簡稱Netflix OSS

這個開源組織專注於大資料、雲端計算方面的技術,提供了多個開源框架,這些框架包括大資料工具、構建工具、基於雲平臺的服務工具等。

關於Spring Cloud

Spring Cloud本質上並不是一個具體的框架,它是一個工具箱,用於幫助我們構建一個微服務叢集;

Spring Cloud是基於Spring Boot的,它封裝了Netflix的框架;

Spring Cloud將Netflix與Spring容器進行了整合,很容易使用Spring的IOC、AOP等等功能。

Spring Cloud整合了哪些常用Netflix框架

Eureka:基於REST服務的分散式中介軟體,主要用於服務管理。

Hystrix:容錯框架,通過新增延遲閥值以及容錯的邏輯,來幫助我們控制分散式系統間元件的互動。

Feign:一個REST客戶端,目的是為了簡化Web Service客戶端的開發

Ribbon:負載均衡框架。

Zuul:為微服務叢集提供過代理、過濾、路由等功能。

Spring Cloud系列:

相關推薦

Spring Cloud介紹環境搭建()

前言使用Spring Cloud需要用到Spring boot的知識,如果沒有相關經驗,請參考Spring Boot的簡單使用(二),做一個簡單的入門。Spring Cloud系列部落格是基於MyEclipse開發工具的。LAMP專案傳統的單體專案用一個LAMP結構就可以完成

Spring Cloud_1_介紹環境搭建

Spring Cloud介紹與環境搭建 1、單體應用 2、單體優化(架構演進) 針對單體應用的問題,參考SOA架構將模組劃分獨立的服務模組 面向服務的架構(SOA) 是一個元件

訊息佇列-ActiveMQ學習筆記()-JMS介紹環境搭建

一、介紹JMS(來自於百度百科)        JMS即Java訊息服務(Java Message Service)應用程式介面,是一個Java平臺中關於面向訊息中介軟體(MOM)的API,用於在兩個

區塊鏈開源專案Ripple、簡單介紹環境搭建,部署

一、介紹: Ripple作為比特幣的2.0版,改進的方面有:1、無需挖礦 2、共識的改進,區分了普通節點和驗證節點(網路上的節點分為兩種:普通節點和驗證節點 普通節點只能轉發交易,信任驗證節點,參與投票。驗證節點可轉發交易,信任其它的驗證節點,決定投票)。 作為入門,官網的

Spring Cloud認知學習():Spring Cloud介紹Eureka使用

[toc] -------- 這是一個Spring Cloud系列文章,它並不會講解所有的知識點,它只是基於微服務的場景來**逐步介紹**常見元件的作用和意義,以及場景元件的整合。對於每個元件的知識並不會講解太多,只講常見的,目的是儘可能快速的對Spring Cloud的常用元件有一個基礎的認知,有

Flask框架():介紹環境搭建

1.Flask介紹 Flask誕生於2010年,是Armin ronacher(人名)用 Python 語言基於 Werkzeug 工具箱編寫的輕量級Web開發框架。   Flask 本身相當於一個核心,其他幾乎所有的功能都要用到擴充套件(郵件擴充套件Flask-Mail,使用者認證Flask-Lo

mybatis介紹環境搭建

mybatis一、不用純jdbc的原因,即缺點。1、數據庫理解,使用時創建,不用時釋放,會對數據庫進行頻繁的鏈接開啟和關閉,造成數據庫的資源浪費,影響數據庫的性能。設想:使用數據庫的連接池。2、將sql語句硬編碼到java代碼中,不利於系統維護。設想:將sql放到配置文件中。3、向preparedstatem

第一章 Linux系統介紹環境搭建準備

桌面 tcp 伸縮性 搭建 應用程序 另一個 核心 x86 pan   1、操作系統:   Operating System,簡稱OS,它是應用程序運行以及用戶操作必備的基礎環境支撐,是計算機系統的核心。   操作系統就是處於用戶與計算機系統硬件之間用於傳遞信息的系統程序軟

spring cloud實戰思考(spring config全局配置方案設計

功能 IE 基於 比較 此外 fig eureka 搜索 地址 “spring cloud”的配置中心工具“spring cloud config”提供了分布式系統配置文件集中管理解決方案。該工具功能強大,實現也很簡單。網上可以搜索到很多開發教程和用例。本文並不是分享“

持續集成-jenkins介紹環境搭建

erl 地址 作業 工作流 var pull 腳本 由於 一次 什麽是持續集成?   轉自:https://blog.csdn.net/tanshizhen119/article/details/80328523   持續集成,俗稱CI, 大師Martin Fowler對持

linux基本介紹環境搭建

1.1 Linux版本 linux kernel 2.2、2.4、2.6、3.0、4.0...發行商:Red hat、CentOS、Ubuntu選擇適合的Linux系統學習桌面系統:Ubuntu穩定伺服器系統:CentOS土豪(有售後):Red Hat對安全性有更高要求:Debian、FreeBSD新技術,

Django簡單介紹環境搭建

Django:MVC(model:主要封裝對資料庫層的訪問,對資料庫中的資料進行增刪改查操作。view:用於封裝結果,生成頁面展示的html內容。controller:用於接受請求請求,處理業務邏輯,與Model和View互動,返回結果)核心思想:解耦,讓不同的程式碼塊之間降低耦合,增強程式

spring-boot/spring-security/spring-cloud全家桶環境搭建

工具介紹:安裝jdk,安裝sts,安裝mysql(jdk和mysql就不說了這事基礎,sts下載地址https://spring.io/tools直接下載符合您的電腦的版本就行,放到合適的目錄,解壓,執行就能用) 一、程式碼結構 1.截圖 說明:maven proje

在IntelliJ IDEA上搭建Spring+SpringMVC+Mybatis+Shiro環境搭建()

IntelliJ IDEA 下載地址:http://www.jetbrains.com/idea/ 都是最新版本的,只要破解一個版本,其他版本可以共用,具體參考百度O(∩_∩)O Maven Reposity Maven倉庫地址:http://mvnrepository.c

Spring Cloud之Oauth2環境搭建

edi ner 訪問 android server 技術 response 要去 inf oauth2 server 微服務授權中心 在Spring Cloud需要使用oauth2來實現多個微服務的統一認證授權,通過向OAUTH服務發送某個類型的grant type進

IPFS(介紹環境搭建

IPFS(一)介紹與環境的搭建 1:What is IPFS 星際檔案系統(InterPlanetary File System). IPFS 是一個分散式的web, 點到點超媒體協議. 可以讓我們的網際網路速度更快, 更加安全, 並且更加開放 ps:這是官方的解釋 在我看來

spring cloud實戰思考(三) 微服務之間通過fiegn上傳組文件(下)

ets inf str ceo iter protected let pan ins 需求場景:   用戶調用微服務1的接口上傳一組圖片和對應的描述信息。微服務1處理後,再將這組圖片上傳給微服務2進行處理。各個微服務能區分開不同的圖片進行不同處理。   上一篇博客已經討

Spring Cloud介紹Spring CloudDubbo對比

服務發現 found star ack 什麽 理解 發的 介紹 存儲 spring Cloud是一個基於Spring Boot實現的雲應用開發工具,它為基於JVM的雲應用開發中的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態管

Python數據分析挖掘第一篇—基本介紹環境搭建

sim python 模塊 功能 對數 numpy 分析 沒有 兩種 一,數據分析與挖掘簡介   所謂數據分析,是對已有的數據進行分析,提取一些有價值的信息,比如平均數,標準差等。而數據挖掘,是對大量的信息進行分析和挖掘,得到一些未知的,有價值的信息。如今日頭條類的新聞推送

Smobiler資料準備環境搭建——C# 或.NET Smobiler例項開發手機app(

目錄 一、 前言 二、 關於"選擇" 三、 資料準備 1、 Smobiler介紹 2、 三款開源軟體原始碼下載 3、 控制元件使用例項 四、 環境搭建到實現HelloWorld 1、 安裝VS2015及以上 2、 安裝Designer 3、 實現Hello