微服務架構技能

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

微服務架構技能 博客分類: 架構


(StuQ 微服務技能圖譜)

2課程簡介

本課程分為基礎篇和高級篇兩部分,旨在通過完整的案例,呈現微服務的開發、測試、構建、部署、運維等實踐,幫助學員了解微服務的核心、以及實施過程中的挑戰與應對方案。

基礎篇將使用Spring Boot、Spring Cloud以及Docker,構建基于微服務架構的活動報名系統。同時,使用Netflix OSS構建服務的支持組件,包括集中化配置中心、服務注冊與發現、API網關、容錯處理等支撐性服務組件。

高級篇將關注微服務的測試,服務安全、異步任務系統、日志聚合、監控告警以及持續交付流水線等高級話題,為微服務規模化實施提供指導意見。

3適用人群

  • 有1年以上的Java編程經驗

  • 熟悉Spring框架

  • 了解Gradle構建工具

  • 了解持續集成實踐

  • 對微服務架構實踐感興趣

4教學目標

通過本課程,您不僅能了解微服務架構的本質,也將學習到如何使用Spring Boot、Spring Cloud 構建微服務系統(包括REST/HAL、服務注冊、服務發現、容錯處理、API網關、中心化配置以及服務的安全處理等);同時,也將學習如何建立完整的微服務生態體系,包括持續交付流水線、部署、運維、監控以及告警等機制。

基礎篇目標

  • 學習掌握微服務架構的概念與本質

  • 使用Spring boot/Spring Cloud 構建活動報名系統

  • 使用Netflix OSS構建微服務支撐組件(服務注冊發現、集中化配置中心、API網關、容錯處理)

  • 使用Docker發布服務

  • 使用Docker-Compose在開發環境中運行多個服務

高級篇目標

  • 學習掌握微服務的測試策略與PACT測試

  • 學習掌握微服務的安全機制與OAuth2.0實現

  • 學習掌握微服務間的異步通信機制

  • 學習了解微服務的監控與告警

  • 學習掌握微服務架構的日志聚合

  • 構建微服務的持續交付流水線

5課程內容

基礎篇課程大綱

微服務架構從 0 到 1

  • 微服務架構介紹

  • 微服務架構的本質與優勢

  • 微服務與SOA

  • 微服務的設計原則

基于微服務構建活動報名系統

  • 需求理解與分析

  • 技術選型(Java/Spring Boot/Spring loud/REST/HAL/MongoDB)

  • 服務定義與劃分

  • 服務支撐組件介紹(服務注冊,集中化配置,斷路器,服務網關)

  • 思考/練習

Spring Boot 應用實踐

  • Spring Boot?介紹

  • Spring Boot的核心功能

  • Spring Boot Demo

  • 練習

Spring Cloud 應用實踐

  • Spring Cloud?介紹

  • Spring Cloud的核心功能

  • Spring Cloud Demo

  • 練習

REST/HAL 應用實踐

  • REST?介紹

  • HAL?介紹

  • 為什么使用HAL

  • HAL Browser 實踐

Docker?應用實踐

  • Docker介紹

  • Docker的常用命令

  • 構建Dockerfile

  • 使用Docker-compose

構建第一個微服務

  • 使用Spring-Data-REST實現Event-Service服務

  • 使用HAL完成服務間同步通信

  • 使用HAL-Browser瀏覽服務接口

  • 使用MongoDB存儲數據

  • 使用Docker-compose運行服務

  • 構建Dockerfile

  • 練習

微服務的集中化配置(centralized-config)

  • 為什么要集中化配置

  • 集中化配置的實現原理與方式

  • 使用Spring Cloud Config 實現集中化配置

  • 使用Spring Cloud Bus與RabbitMQ同步多服務配置

  • Spring Cloud Config Demo

  • 練習

微服務的注冊與發現(service-discovery)

  • 為什么要服務注冊與發現

  • 服務注冊與服務發現的實現方式

  • 使用Netflix Eureka/Spring Cloud實現服務注冊與發現

  • 使用Netflix Ribbon/Spring Cloud實現客戶端負載均衡

  • 使用Netflix Feign/Spring Cloud實現申明式REST調用

  • 練習

微服務的容錯處理(circurt-breaker)

  • 微服務下的可用性與故障蔓延(Failure Cascading)

  • 斷路器模式的原理與實現

  • 使用Netflix Hystrix/Spring Cloud實現容錯

  • 使用Netflix Turbie實現監控聚合

  • 練習

構建微服務網關

  • 為什么需要微服務網關

  • 微服務網關的實現方案

  • 使用Netflix Zuul實現微服務網關

  • 練習

微服務架構與實踐總結

  • 微服務的發布與部署

  • 基于微服務的活動報名系統

  • 練習

高級篇課程大綱

微服務的測試

  • 測試金字塔

  • 測試策略與實現

  • 集成測試與契約測試

  • 基于消費者驅動的契約測試PACT

  • 使用JVM-PACT構建契約測試

  • 練習

微服務的安全

  • 微服務下安全的實現方式

  • 使用HTTPS加密傳輸內容

  • OAuth2.0綜述

  • 使用Spring Cloud Security實現活動報名

  • 練習

微服務間的通信

  • 服務間的同步通信

  • 服務間的異步通信

  • 使用Jesque完成報名后的通知

  • 在活動報名系統中整合Jesque

  • 練習

微服務的監控與告警

  • 服務的監控與告警綜述

  • 微服務監控與告警常用方案

  • 使用Prometheus實現服務監控

  • 在活動報名系統中整合Prometheus

  • 服務告警

  • 練習

微服務的日志聚合

  • 為什么要日志聚合

  • 日志聚合的常用技術方案

  • 使用ETL實現服務的日志聚合與管理

  • 使用Docker-compose運行ELK

  • 在活動報名系統中整合ELK

  • 練習

構建微服務的持續交付流水線

  • 持續集成

  • 持續交付

  • Jenkins2.0介紹

  • 構建持續交付流水線

  • 練習

微服務的依賴管理

  • 可視化服務依賴圖

  • 練習

微服務架構與實踐總結

  • 基于微服務的活動報名系統

  • 微服務架構總結

    ?

    http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650994360&idx=3&sn=d11399313a76e3367453e6e24982972d&chksm=bdbf0eeb8ac887fd031b55a2a407345a9a79fe1cc9366751fcf91ffb77ecc77b7e23300bfd8c&mpshare=1&scene=1&srcid=1011ve1uUq6YNm4WGL19oRPR#rd

轉載于:https://my.oschina.net/xiaominmin/blog/1598949

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/391609.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/391609.shtml
英文地址,請注明出處:http://en.pswp.cn/news/391609.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

phpstorm 調試_PhpStorm中的多用戶調試

phpstorm 調試by Ray Naldo雷納爾多(Ray Naldo) PhpStorm中的多用戶調試 (Multi-User Debugging in PhpStorm) 使用Xdebug和DBGp代理 (Using Xdebug and DBGp Proxy) “Er, wait a minute… Don’t you just use xdebug.remote_connect_back which has been introduced since …

Tableau Desktop認證:為什么要關心以及如何通過

Woah, Tableau!哇,Tableau! By now, almost everyone’s heard of the data visualization software that brought visual analytics to the public. Its intuitive drag and drop interface makes connecting to data, creating graphs, and sharing d…

約束布局constraint-layout導入失敗的解決方案 - 轉

今天有同事用到了約束布局,但是導入我的工程出現錯誤 **提示錯誤: Could not find com.Android.support.constraint:constraint-layout:1.0.0-alpha3** 我網上查了一下資料,都說是因為我的androidStudio版本是最新的穩定版導入這個包就會報這…

算法復習:冒泡排序

思想:對于一個列表,每個數都是一個"氣泡 ",數字越大表示"越重 ",最重的氣泡移動到列表最后一位,冒泡排序后的結果就是“氣泡”按照它們的重量依次移動到列表中它們相應的位置。 算法:搜索整個列表…

leetcode 59. 螺旋矩陣 II(遞歸)

給你一個正整數 n ,生成一個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的 n x n 正方形矩陣 matrix 。 示例 1: 輸入:n 3 輸出:[[1,2,3],[8,9,4],[7,6,5]] 解題思路 按層進行數字的填充,每一層…

前端基礎進階(七):函數與函數式編程

縱觀JavaScript中所有必須需要掌握的重點知識中,函數是我們在初學的時候最容易忽視的一個知識點。在學習的過程中,可能會有很多人、很多文章告訴你面向對象很重要,原型很重要,可是卻很少有人告訴你,面向對象中所有的重…

期權數據 獲取_我如何免費獲得期權數據

期權數據 獲取by Harry Sauers哈里紹爾斯(Harry Sauers) 我如何免費獲得期權數據 (How I get options data for free) 網頁抓取金融簡介 (An introduction to web scraping for finance) Ever wished you could access historical options data, but got blocked by a paywall…

顯示與刪除使用工具

右擊工具菜單欄中的空白處選擇自定義 在彈出的自定義菜單中選擇命令選項在選擇想要往里面添加工具的菜單,之后在選擇要添加的工具 若想要刪除工具欄中的某個工具,在打開自定義菜單后,按住鼠標左鍵拖動要刪除工具到空白處 例如 轉載于:https:/…

js值的拷貝和值的引用_到達P值的底部:直觀的解釋

js值的拷貝和值的引用介紹 (Introduction) Welcome to this lesson on calculating p-values.歡迎參加有關計算p值的課程。 Before we jump into how to calculate a p-value, it’s important to think about what the p-value is really for.在我們開始計算p值之前&#xff…

leetcode 115. 不同的子序列(dp)

給定一個字符串 s 和一個字符串 t ,計算在 s 的子序列中 t 出現的個數。 字符串的一個 子序列 是指,通過刪除一些(也可以不刪除)字符且不干擾剩余字符相對位置所組成的新字符串。(例如,“ACE” 是 “ABCDE…

監督學習-KNN最鄰近分類算法

分類(Classification)指的是從數據中選出已經分好類的訓練集,在該訓練集上運用數據挖掘分類的技術建立分類模型,從而對沒有分類的數據進行分類的分析方法。 分類問題的應用場景:用于將事物打上一個標簽,通常…

istio 和 kong_如何啟動和運行Istio

istio 和 kongby Chris Cooney克里斯庫尼(Chris Cooney) 如何啟動和運行Istio (How to get Istio up and running) 而一旦完成,您就可以做的瘋狂的事情。 (And the crazy stuff you can do once it is.) The moment you get Istio working on your cluster, it fee…

js練習--貪吃蛇(轉)

最近一直在看javascript,但是發現不了動力。就開始想找動力,于是在網上找到了一個用js寫的貪吃蛇游戲。奈何還不會用git,就只能先這樣保存著。哈哈哈,這也算第一篇博客了,以后會堅持用自己的代碼寫博客的,下…

bzoj千題計劃169:bzoj2463: [中山市選2009]誰能贏呢?

http://www.lydsy.com/JudgeOnline/problem.php?id2463 n為偶數時,一定可以被若干個1*2 矩形覆蓋 先手每次從矩形的一端走向另一端,后手每次走向一個新的矩形 所以先手必勝 n為奇數時,先手走完一步后,剩下同n為偶數 所以先手必敗…

無監督學習-主成分分析和聚類分析

聚類分析(cluster analysis)是將一組研究對象分為相對同質的群組(clusters)的統計分析技術,即將觀測對象的群體按照相似性和相異性進行不同群組的劃分,劃分后每個群組內部各對象相似度很高,而不…

struts實現分頁_在TensorFlow中實現點Struts

struts實現分頁If you want to get started on 3D Object Detection and more specifically on Point Pillars, I have a series of posts written on it just for that purpose. Here’s the link. Also, going through the Point Pillars paper directly will be really help…

封裝jQuery下載文件組件

使用jQuery導出文檔文件 jQuery添加download組件 jQuery.download function(url, data, method){if( url && data ){data typeof data string ? data : paramEdit(data);     function paramEdit(obj){        var temStr "",tempStr"…

7.13. parallel - build and execute shell command lines from standard input in parallel

并行執行shell命令 $ sudo apt-get install parallel 例 7.5. parallel - build and execute shell command lines from standard input in parallel $ cat *.csv | parallel --pipe grep 13113 設置塊大小 $ cat *.csv | parallel --block 10M --pipe grep 131136688 原…

MySQL-InnoDB索引實現

聯合索引提高查詢效率的原理 MySQL會為InnoDB的每個表建立聚簇索引,如果表有索引會建立二級索引。聚簇索引以主鍵建立索引,如果沒有主鍵以表中的唯一鍵建立,唯一鍵也沒會以隱式的創建一個自增的列來建立。聚簇索引和二級索引都是一個b樹&…

Go語言-基本的http請求操作

Go發起GET請求 基本的GET請求 //基本的GET請求 package mainimport ("fmt""io/ioutil""net/http" )func main() {resp, err : http.Get("http://www.hao123.com")if err ! nil {fmt.Println(err)return}defer resp.Body.Close()body, …