課程簡介
作為一種新的設計和架構理念,微服務自2014年首次提出就引發(fā)了業(yè)界激烈的討論。同時,Docker技術的迅速發(fā)展,也讓微服務架構的實施變得更加容易。相比于傳統(tǒng)的單體式應用而言,微服務這種小而化之、互相連接的設計理念不僅能讓復雜應用的構建變得更加靈活,更能幫助創(chuàng)業(yè)企業(yè)在面對市場的高度不確定性時,快速推出新產(chǎn)品,低成本試錯。那么,企業(yè)究竟該如何去設計、開發(fā)和部署微服務到自己的業(yè)務中去?如何做好服務發(fā)現(xiàn)和服務治理呢?
目標收益
系統(tǒng)全面地了解和學習微服務架構的設計及原生云應用開發(fā)方法等
1.學習掌握微服務架構的概念與本質
2.使用Springboot/SpringCloud構建案例
3.使用Docker發(fā)布服務
4.使用Docker在開發(fā)環(huán)境中運行多個服務
5.使用openstack對docker進行管理
6.學習掌握微服務的測試策略與
7.學習掌握微服務的安全機制
8.學習掌握微服務間的異步通信機制
9.學習了解微服務的監(jiān)控與告警
10.學習掌握微服務架構的日志聚合
培訓對象
CIO、IT經(jīng)理、企業(yè)架構師、IT架構師、方案架構師、開發(fā)工程師等
課程大綱
第一天上午 微服務架構概述 |
1.微服務架構的定義 微服務架構最主要的兩個特征 細粒度的特征 獨立性的特征 為什么微服務架構需要獨立變更和獨立部署 2.微服務架構的剖析 微服務架構介紹 微服務架構的本質與優(yōu)勢 微服務與SOA 微服務的設計原則 |
第一天下午 基于微服務構建活動實踐 |
3.需求理解與分析 技術選型(Java/SpringBoot/Springloud/REST/HAL/MongoDB) 服務定義與劃分 服務支撐組件介紹(服務注冊,集中化配置,斷路器,服務網(wǎng)關) 思考/練習 |
第二天上午 微服務應用實踐 |
4.SpringBoot介紹 SpringBoot的核心功能 SpringBootDemo 練習 5.SpringCloud應用實踐 SpringCloud介紹 SpringCloud的核心功能 SpringCloudDemo 練習 6.REST/HAL應用實踐 REST介紹 HAL介紹 為什么使用HAL HALBrowser實踐 7.Docker應用實踐 Docker介紹 Docker的常用命令 構建Dockerfile 使用Docker-compose |
第二天下午 微服務應用實踐 |
8.構建第一個微服務 使用Spring-Data-REST實現(xiàn)Event-Service服務 使用HAL完成服務間同步通信 使用HAL-Browser瀏覽服務接口 使用MongoDB存儲數(shù)據(jù) 使用Docker-compose運行服務 構建Dockerfile 練習 |
第三天上午 微服務應用實踐 |
9.微服務的集中化配置(centralized-config) 為什么要集中化配置 集中化配置的實現(xiàn)原理與方式 使用SpringCloudConfig實現(xiàn)集中化配置 使用SpringCloudBus與RabbitMQ同步多服務配置 SpringCloudConfigDemo 練習 10.微服務的注冊與發(fā)現(xiàn)(service-discovery) 為什么要服務注冊與發(fā)現(xiàn) 服務注冊與服務發(fā)現(xiàn)的實現(xiàn)方式 使用NetflixEureka/SpringCloud實現(xiàn)服務注冊與發(fā)現(xiàn) 使用NetflixRibbon/SpringCloud實現(xiàn)客戶端負載均衡 使用NetflixFeign/SpringCloud實現(xiàn)申明式REST調用 練習 |
第三天下午 微服務應用實踐 |
11.微服務的容錯處理(circurt-breaker) 微服務下的可用性與故障蔓延(FailureCascading) 斷路器模式的原理與實現(xiàn) 使用NetflixHystrix/SpringCloud實現(xiàn)容錯 使用NetflixTurbie實現(xiàn)監(jiān)控聚合 練習 12.構建微服務網(wǎng)關 為什么需要微服務網(wǎng)關 微服務網(wǎng)關的實現(xiàn)方案 使用NetflixZuul實現(xiàn)微服務網(wǎng)關 練習 13.微服務架構與實踐總結 微服務的發(fā)布與部署 基于微服務的活動報名系統(tǒng) 練習 |
第一天上午 微服務架構概述 1.微服務架構的定義 微服務架構最主要的兩個特征 細粒度的特征 獨立性的特征 為什么微服務架構需要獨立變更和獨立部署 2.微服務架構的剖析 微服務架構介紹 微服務架構的本質與優(yōu)勢 微服務與SOA 微服務的設計原則 |
第一天下午 基于微服務構建活動實踐 3.需求理解與分析 技術選型(Java/SpringBoot/Springloud/REST/HAL/MongoDB) 服務定義與劃分 服務支撐組件介紹(服務注冊,集中化配置,斷路器,服務網(wǎng)關) 思考/練習 |
第二天上午 微服務應用實踐 4.SpringBoot介紹 SpringBoot的核心功能 SpringBootDemo 練習 5.SpringCloud應用實踐 SpringCloud介紹 SpringCloud的核心功能 SpringCloudDemo 練習 6.REST/HAL應用實踐 REST介紹 HAL介紹 為什么使用HAL HALBrowser實踐 7.Docker應用實踐 Docker介紹 Docker的常用命令 構建Dockerfile 使用Docker-compose |
第二天下午 微服務應用實踐 8.構建第一個微服務 使用Spring-Data-REST實現(xiàn)Event-Service服務 使用HAL完成服務間同步通信 使用HAL-Browser瀏覽服務接口 使用MongoDB存儲數(shù)據(jù) 使用Docker-compose運行服務 構建Dockerfile 練習 |
第三天上午 微服務應用實踐 9.微服務的集中化配置(centralized-config) 為什么要集中化配置 集中化配置的實現(xiàn)原理與方式 使用SpringCloudConfig實現(xiàn)集中化配置 使用SpringCloudBus與RabbitMQ同步多服務配置 SpringCloudConfigDemo 練習 10.微服務的注冊與發(fā)現(xiàn)(service-discovery) 為什么要服務注冊與發(fā)現(xiàn) 服務注冊與服務發(fā)現(xiàn)的實現(xiàn)方式 使用NetflixEureka/SpringCloud實現(xiàn)服務注冊與發(fā)現(xiàn) 使用NetflixRibbon/SpringCloud實現(xiàn)客戶端負載均衡 使用NetflixFeign/SpringCloud實現(xiàn)申明式REST調用 練習 |
第三天下午 微服務應用實踐 11.微服務的容錯處理(circurt-breaker) 微服務下的可用性與故障蔓延(FailureCascading) 斷路器模式的原理與實現(xiàn) 使用NetflixHystrix/SpringCloud實現(xiàn)容錯 使用NetflixTurbie實現(xiàn)監(jiān)控聚合 練習 12.構建微服務網(wǎng)關 為什么需要微服務網(wǎng)關 微服務網(wǎng)關的實現(xiàn)方案 使用NetflixZuul實現(xiàn)微服務網(wǎng)關 練習 13.微服務架構與實踐總結 微服務的發(fā)布與部署 基于微服務的活動報名系統(tǒng) 練習 |