隨著互聯(lián)網(wǎng)的高速發(fā)展,龐大的用戶群體和快速的需求變化已經(jīng)成為了傳統(tǒng)架構(gòu)的痛點(diǎn)。 在這種情況下,如何從系統(tǒng)架構(gòu)的角度出發(fā),構(gòu)建出靈活、易擴(kuò)展的系統(tǒng)來(lái)快速響應(yīng)需求的變化,同時(shí),隨著用戶量的增加,如何保證系統(tǒng)的穩(wěn)定性、高可用性、可伸縮性等等,成為了系統(tǒng)架構(gòu)面臨的挑戰(zhàn)。 為了解決這些問(wèn)題,微服務(wù)架構(gòu)應(yīng)運(yùn)而生,它的本質(zhì)在于分布式、去中心化。 微服務(wù)架構(gòu)是一種架構(gòu)模式或者說(shuō)一種架構(gòu)風(fēng)格,它提倡將傳統(tǒng)的一站式應(yīng)用(左下圖)根據(jù)業(yè)務(wù)拆分成一個(gè)個(gè)服務(wù)(右下圖),徹底去掉耦合,每個(gè)服務(wù)提供單個(gè)業(yè)務(wù)功能,一個(gè)服務(wù)只做一件事,運(yùn)行在其獨(dú)立的進(jìn)程中。 每個(gè)服務(wù)之間互相協(xié)調(diào)、互相配合,為用戶提供最終的價(jià)值。服務(wù)之間采用輕量級(jí)的通信機(jī)制(通常是基于 http 的 RESTful API)。 每個(gè)服務(wù)都圍繞著具體業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠被獨(dú)立地部署到生產(chǎn)環(huán)境、類(lèi)生產(chǎn)環(huán)境等。不同的服務(wù)也可以使用不同的數(shù)據(jù)庫(kù)和數(shù)據(jù)存儲(chǔ)。 另外,應(yīng)盡量避免統(tǒng)一的、集中式的服務(wù)管理機(jī)制,對(duì)具體的一個(gè)服務(wù)而言,應(yīng)根據(jù)業(yè)務(wù)上下文,選擇合適的語(yǔ)言、工具對(duì)其進(jìn)行構(gòu)建,可以有一個(gè)非常輕量級(jí)的集中式管理來(lái)協(xié)調(diào)這些服務(wù),可以使用不同的語(yǔ)言來(lái)開(kāi)發(fā)這些服務(wù)。 Spring Boot 誕生時(shí),微服務(wù)概念正處于醞釀階段,Spring Boot 的研發(fā)融合了微服務(wù)架構(gòu)的理念,是 Java 領(lǐng)域微服務(wù)架構(gòu)最優(yōu)落地的技術(shù),給微服務(wù)架構(gòu)提供了技術(shù)支撐。Spring Boot 有哪些優(yōu)勢(shì)呢?
微服務(wù)是未來(lái)發(fā)展的趨勢(shì),使用 Spring Boot 開(kāi)發(fā)項(xiàng)目,會(huì)顛覆傳統(tǒng)的開(kāi)發(fā)模式,大大提升開(kāi)發(fā)效率,可以說(shuō)如果你使用 Spring Boot 開(kāi)發(fā)過(guò)項(xiàng)目,你就不愿意再回到原來(lái)的開(kāi)發(fā)方式了。 看看 Spring 官方對(duì) Spring Boot 的定位:Build Anything,Build 任何東西。 Spring Boot 旨在盡可能快地啟動(dòng)和運(yùn)行,并且只需最少的 Spring 前期配置。 同時(shí)我們也來(lái)看一下官方對(duì)后面兩個(gè)的定位:
仔細(xì)品味一下,Spring 官網(wǎng)對(duì) Spring Boot、SpringCloud 和 SpringCloud Data Flow 三者定位的措辭非常有味道,同時(shí)也可以看出,官方對(duì)這三個(gè)技術(shù)非常重視,我們還有什么理由不去學(xué)習(xí)呢? 前華為工程師 倪升武
本課程主要圍繞 Spring Boot 在實(shí)際項(xiàng)目開(kāi)發(fā)中的應(yīng)用場(chǎng)景,系統(tǒng)的介紹了 Spring Boot 在開(kāi)發(fā)中的常用技術(shù)。 包括: JSON 數(shù)據(jù)封裝、日志記錄、屬性配置、MVC 支持、在線文檔、模板引擎、異常處理、AOP 處理、持久層集成、攔截器、監(jiān)聽(tīng)器、Redis 緩存、安全認(rèn)證、分詞插件、消息隊(duì)列等等。 在微服務(wù)盛行的今天,你需要了解點(diǎn) Spring Boot,這套課程很適合你! |
|
來(lái)自: Richard孝恩 > 《待分類(lèi)》