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