網(wǎng)約車
項目簡介:該項目是一款標(biāo)準(zhǔn)網(wǎng)約車應(yīng)用。符合我國交通部對網(wǎng)約車監(jiān)管的技術(shù)要求。通過了交通部對網(wǎng)約車線上和線下能力認(rèn)定。并曾在南方某城市上線運行。
項目中核心功能包括:賬戶系統(tǒng),訂單系統(tǒng),支付系統(tǒng),地圖引擎,派單引擎,消息系統(tǒng)等 網(wǎng)約車核心解決方案。
項目中完全采用微服務(wù)架構(gòu)設(shè)計,應(yīng)用了成熟的接口安全設(shè)計方案,采用分布式鎖保證了分布式環(huán)境中的數(shù)據(jù)同步,用分布式事務(wù)解決了分布式環(huán)境中的數(shù)據(jù)一致性等。
網(wǎng)約車實戰(zhàn)項目目錄介紹
一,微服務(wù)概述
網(wǎng)約車介紹:網(wǎng)約車項目整體介紹。
服務(wù)演進(jìn):從網(wǎng)約車角度介紹傳統(tǒng)單體服務(wù)向微服務(wù)演進(jìn)的過程,便于大家更好的理解微服務(wù)。
流行微服務(wù)解決方案的介紹:比較市場上流行的微服務(wù)解決方案,并說明我們可以選擇Spring Cloud的理由。
微服務(wù)設(shè)計原則:介紹微服務(wù)的4大設(shè)計原則。
微服務(wù)組件:介紹微服務(wù)常用組件。
網(wǎng)約車注冊中心集群搭建:實戰(zhàn)網(wǎng)約車注冊中心集群。
二,微服務(wù)發(fā)現(xiàn)與注冊
注冊中心介紹:介紹注冊中心概念及常用注冊中心。
注冊中心搭建:搭建注冊中心及注冊中心集群。
Eureka原理:Eureka原理講解。
Eureka源碼:介紹Eureka Client和Server的源碼。馬士兵教育
Eureka元數(shù)據(jù):服務(wù)元數(shù)據(jù)介紹
Eureka自我保護(hù)機(jī)制:介紹Eureka自我保護(hù)機(jī)制原理及使用。
三,Ribbon負(fù)載均衡
Ribbon基礎(chǔ):介紹Ribbon概念及使用。
Ribbon配置:包括Ribbon的代碼配置和屬性配置。
Ribbon原理和源碼 :深入介紹Ribbon的原理和源碼。
網(wǎng)約車服務(wù)間調(diào)用:實戰(zhàn)網(wǎng)約車服務(wù)間Ribbon的使用。
四,聲明式調(diào)用Feign
OpenFeign基礎(chǔ):OpenFeign概念及使用。
OpenFeign配置:包括Java代碼配置和屬性配置。
繼承和壓縮的支持:介紹OpenFeign對繼承和壓縮的支持。
OpenFeign參數(shù)構(gòu)造:OpenFeign多種情況參數(shù)的構(gòu)造使用。
OpenFeign原理和源碼:介紹OpenFeign的原理和源碼。
網(wǎng)約車中Feign應(yīng)用: 實戰(zhàn)網(wǎng)約車中Feign的應(yīng)用。
五,微服務(wù)熔斷和降級
容錯的手段:介紹雪崩效應(yīng),及容錯思路。
斷路器:介紹斷路器使用。
服務(wù)降級:介紹降級的使用。
斷路器源碼:深入介紹斷路器源碼。
斷路器可視化使用:通過可視化UI,查看HystrixCommand各種指標(biāo)。
網(wǎng)約車中熔斷和降級的實戰(zhàn):通過網(wǎng)約車中實戰(zhàn),深刻理解熔斷和降級。
六,網(wǎng)關(guān)
網(wǎng)關(guān)基礎(chǔ):介紹網(wǎng)關(guān)概念及使用。
路由配置詳解:詳細(xì)介紹路由的各種配置。
Zuul與敏感header :介紹生產(chǎn)中遇到的一些敏感header問題。
網(wǎng)關(guān)原理和源碼:介紹網(wǎng)關(guān)的原理和源碼。
網(wǎng)約車中網(wǎng)關(guān)應(yīng)用:介紹網(wǎng)約車中網(wǎng)關(guān)的使用,包括用戶過濾,限流等。
七,統(tǒng)一配置中心、鏈路追蹤、及經(jīng)典問題
配置中心搭建:基于RabbitMQ搭建動態(tài)配置中心。
配置動態(tài)更新原理:介紹Config Server和Client的原理。
鏈路追蹤:介紹基于Sleuth的鏈路追蹤,并通過zipkin UI展示。
經(jīng)典問題總結(jié):介紹微服務(wù)中經(jīng)典問題及解決方案。
八,司機(jī)搶單中分布式鎖應(yīng)用
傳統(tǒng)鎖到分布式鎖演進(jìn):傳統(tǒng)單體鎖到分布式鎖的演進(jìn),及可能會遇到的同步問題。
利用Redis實現(xiàn)分布鎖原理:介紹通過Redis實現(xiàn)分布式鎖原理。
Redis終結(jié)分布式RedLock:Redis哨兵模式中利用RedLock實現(xiàn)分布式鎖。
搶單中分布式鎖應(yīng)用:介紹搶單中分布式鎖的應(yīng)用。
九,消息隊列在網(wǎng)約車中的應(yīng)用
消息隊列介紹:學(xué)習(xí)JMS,消息隊列概念及常用的消息隊列介紹
手寫消息隊列:通過手動寫消息隊列demo,更深入理解消息隊列的組成及功能。
ActiveMQ兩種消息使用模式:介紹 點對點,發(fā)布/訂閱兩種方式的消息使用。
網(wǎng)約車項目中整合消息隊列:消息隊列在項目中的應(yīng)用。
分布式事務(wù):利用消息隊列實現(xiàn)網(wǎng)約車中的分布式事務(wù)。
十,網(wǎng)約車接口安全方案和派單業(yè)務(wù)
接口安全設(shè)計:介紹如何制定安全的接口方案,并實戰(zhàn)。
派單業(yè)務(wù)流程:派單業(yè)務(wù)流程介紹。
派單代碼設(shè)計:派單業(yè)務(wù)的代碼設(shè)計及實現(xiàn)。
十一,網(wǎng)約車其他業(yè)務(wù)
乘客和司機(jī)公共功能設(shè)計:介紹乘客和司機(jī)共有功能的設(shè)計,比如短信,訂單等。
支付服務(wù):同時整合微信支付和支付寶。乘客充值和消費。
司機(jī)聽單:通過SSE實現(xiàn)司機(jī)聽單功能。
監(jiān)管平臺上報和自有業(yè)務(wù)的分離:通過消息隊列實現(xiàn)自有業(yè)務(wù)和上報業(yè)務(wù)分離。
DB和緩存設(shè)計:整體的DB設(shè)計和緩存設(shè)計。
十二,網(wǎng)約車項目的部署
部署拓?fù)鋱D:網(wǎng)約車部署拓?fù)鋱D,微服務(wù)組件和各個微服務(wù)拓?fù)鋱D。
Docker基礎(chǔ)介紹:Docker基礎(chǔ)概念介紹。
Docker安裝和使用: 安裝Docker及常用操作,制作鏡像。鏡像和容器常用命令。
微服務(wù)和網(wǎng)約車項目總結(jié):總結(jié)。