A. java教程,java學習路線圖
2019年的最新版本的路線圖:
第一個:javase零基礎(eclipse可以找動力節點的老師換成IDEA,這個看你個人習慣了)
(這些都有配套的教程,去找他們老師要應該可以要到)
B. 大數據學習路線是什麼
主要分為 7 個階段:入門知識 → Java 基礎 → Scala 基礎 → Hadoop 技術模塊 → Hadoop 項目實戰 → Spark 技術模塊 → 大數據項目實戰。
階段一:學習入門知識
這一部分主要針對的是新手,在學習之前需要先掌握基本的資料庫知識。Mysql 是一個 DBMS(資料庫管理系統),是最流行的關系型資料庫管理系統(關系資料庫,是建立在關系資料庫模型基礎上的資料庫,藉助於集合代數等概念和方法來處理資料庫中的數據)。
MongoDB 是 IT 行業非常流行的一種非關系型資料庫(NoSQL),其靈活的數據存儲方式備受當前 IT 從業人員的青睞。
而 Redis 是一個開源、支持網路、基於內存、鍵值對存儲資料庫。兩者都非常有必要了解。
1、Linux 基礎入門(新版)
2、Vim編輯器
3、Git 實戰教程
4、MySQL 基礎課程
5、MongoDB 基礎教程
6、Redis基礎教程
階段二:Java基礎
Java 是目前使用最為廣泛的編程語言,它具有的眾多特性,特別適合作為大數據應用的開發語言。
Java 語言具有功能強大和簡單易用兩個特徵,跨平台應用能力比 C、C++ 更易用,更容易上手。同時還具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。最重要的一點是 Hadoop 是用 Java 編寫的。
1、Java編程語言(新版)
2、Java進階之設計模式
3、J2SE核心開發實戰
4、JDK 核心 API
5、JDBC 入門教程
6、Java 8 新特性指南
階段三:Scala基礎
Scala 是一種多範式的編程語言,其設計的初衷是要集成面向對象編程和函數式編程的各種特性。由於 Scala 運行於 Java 平台(Java 虛擬機),並兼容現有的Java 程序,所以 Scala 可以和大數據相關的基於 JVM 的系統很好的集成。
1、Scala 開發教程
2、Scala 專題教程 - Case Class和模式匹配
3、Scala 專題教程 - 隱式變換和隱式參數
4、Scala 專題教程 - 抽象成員
5、Scala 專題教程 - Extractor
6、Scala 開發二十四點游戲
階段四:Hadoop技術模塊
Hadoop 是一款支持數據密集型分布式應用並以 Apache 2.0 許可協議發布的開源軟體框架,它能搭建大型數據倉庫,PB 級別數據的存儲、處理、分析、統計等業務。編程語言你可以選,但 Hadoop 一定是大數據必學內容。
1、Hadoop入門進階課程
2、Hadoop部署及管理
3、HBASE 教程
4、Hadoop 分布式文件系統--導入和導出數據
5、使用 Flume 收集數據
階段五:Hadoop項目實戰
當然,學完理論就要進行動手實戰了,Hadoop 項目實戰可以幫助加深對內容的理解,並鍛煉動手能力。
1、Hadoop 圖處理--《hadoop應用框架》
階段六:Spark技術模塊
Spark 和 Hadoop 都是大數據框架。Hadoop 提供了 Spark 所沒有的功能特性,比如分布式文件系統,而 Spark 為需要它的那些數據集提供了實時內存處理。所以學習 Spark 也非常必要。
1、Spark
2、x 快速入門教程
2、Spark 大數據動手實驗
3、Spark 基礎之 GraphX 圖計算框架學習
4、Spark 基礎之 DataFrame 基本概念學習
5、Spark 基礎之 DataFrame 高階應用技巧
6、Spark 基礎之 Streaming 快速上手
7、Spark 基礎之 SQL 快速上手
8、Spark 基礎之使用機器學習庫 MLlib
9、Spark 基礎之 SparkR 快速上手
10、流式實時日誌分析系統--《Spark 最佳實踐》
11、使用 Spark 和 D3.js 分析航班大數據
階段七:大數據項目實戰
最後階段提供了大數據實戰項目,這是對常用技能的系統運用,例如使用常用的機器學習進行建模、分析和運算,這是成為大數據工程師過程中的重要一步。
1、Ebay 在線拍賣數據分析
2、流式實時日誌分析系統--《Spark 最佳實踐》
3、大數據帶你挖掘打車的秘籍
4、Twitter數據情感分析
5、使用 Spark 進行流量日誌分析
6、Spark流式計算電商商品關注度
7、Spark的模式挖掘-FPGrowth演算法
(2)資料庫學習路線圖擴展閱讀:
大數據技術的具體內容:
分布式存儲計算架構(強烈推薦:Hadoop)
分布式程序設計(包含:Apache Pig或者Hive)
分布式文件系統(比如:Google GFS)
多種存儲模型,主要包含文檔,圖,鍵值,時間序列這幾種存儲模型(比如:BigTable,Apollo,DynamoDB等)
數據收集架構(比如:Kinesis,Kafla)
集成開發環境(比如:R-Studio)
程序開發輔助工具(比如:大量的第三方開發輔助工具)
調度協調架構工具(比如:Apache Aurora)
機器學習(常用的有Apache Mahout 或 H2O)
託管管理(比如:Apache Hadoop Benchmarking)
安全管理(常用的有Gateway)
大數據系統部署(可以看下Apache Ambari)
搜索引擎架構(學習或者企業都建議使用Lucene搜索引擎)
多種資料庫的演變(MySQL/Memcached)
商業智能(大力推薦:Jaspersoft)
數據可視化(這個工具就很多了,可以根據實際需要來選擇)
大數據處理演算法(10大經典演算法)
C. java學習路線
目前在職Java開發,我給出的Java學習路線是:
JavaSE--資料庫--jdbc----前端基礎--Javaweb--Spring--Mybatis--Maven--Springboot---Reids--Springcloud--Linux--Git。
JavaSE:java基礎,既然是基礎,那肯定是最重要的,所以學習的時候也是需要重點學習的地方。
資料庫:為什麼要學資料庫呢,因為我們的web數據需要持久化到磁碟上統一管理,而資料庫無疑就是最好工具。目前主流的關系型資料庫有mysql 和oracle。我建議先學mysql。為什麼呢mysql相比Oracle難度要低,而在國內應用場景又是最多的。
學會了mysql可以開發出一個完整的產品了,再學oracle都可以的。
前端基礎:既然是做一個網站,那肯定不能是後台的數據,這樣用戶也是沒辦法看的,所以需要學習前端知識,把數據展示到頁面上,而對於後台人員來說,學習階段只需要學習前端基礎就可以了。Html 、js、css、jquery就可以了。當然到離開後期你也可以學學專門為後端人員定製的前端框架,比如,layui,easyui。如果還覺得不夠可以學學前端專用框架。比如vue element ,但是大前提是把自己的後台學到位了再學其他的。
Javaweb:jsp、servlet。為什麼用了html還要學jsp呢。因為jsp和Java是無縫連接的。學了javaweb以後就可以自己做一個項目出來了,比如你想做一個個人網站。你可以給你們學校做一個教務管理系統都是可以的。
Spring:後台框架。為什麼要用框架呢,可以快速開發,並且降低了耦合。Spring的AOP支持允許將一些通用任務如安全、事務、日誌等進行集中式管理,從而提供了更好的復用,Spring的ORM和DAO提供了與第三方持久層框架的良好整合,並簡化了底層的資料庫訪問。
Mybatis:持久層框架,當然持久層還有一個框架應用也很廣的,那就是hibernate,一個是半自動的一個是全自動,而在國內應用最多的是mybatis,在國外用得最多的是hibernate,具體原因,大家可以網路查查。持久層框架有什麼好處呢?如果你用原始的jdbc做開發,那你得自己來管理每一個連接,連接的打開和關閉,都是有開發人員來操作的,而且jdbc也沒有實體的映射,需要我們寫代碼把值set進去,而用了框架這些都交給框架去做了。
Maven:mavne是一個工具,他的核心是pom.xml,這個配置文件,pom的全英文是project object model,意思是對象管理模型,也就是把項目也看成一個對象來操作了。給我們帶來最直觀的好處就是依賴問題,以前我們需要自己下載jar包,在構建到項目中,但是有了maven只需要寫jar的依賴就可以自動給我們下載了。
Springboot:springboot是基於maven的,springboot最明顯的特點就是開箱即用,也就是構建了一個springboot項目 直接就可以做開發了,而不需要像我們自己配一個springmvc的框架一樣的需要去配置大量的xml文件。讓我們開發人員更著重於業務上的開發。
Redis:前面的mysql,oracle是關系型資料庫,什麼是關系型呢,就是一對一 一對多 多對多。有表與表之間有這些關系在,所以就叫關系型資料庫,而redis就是非關系型資料庫,也就是他存儲數據之間是沒有這些關系,他是以鍵值對 list set方式存儲的。
對了,順便在這里說一下,我目前是在職Java開發,如果你現在也在學習Java,了解Java,渴望成為一名合格的Java開發工程師,在入門學習Java的過程當中缺乏基礎入門的視頻教程,你都可以申請加入我的Java新手學習交流qun:前面輸入是:前面輸入是:七九八,中間輸入是:八四四,最後輸入是:六二零。裡面聚集了很多正在學習Java技術的初學者,qun文件裡面還有我做Java技術這段時間整理的一些學習手冊,面試題,開發工具,PDF文檔書籍教程,需要的話都可以來獲取下載。
Springcloud:微服務框架,什麼是微服務呢,就是把我們傳統的單體服務拆分開了,就是將一個單體架構的應用按業務劃分為一個個的獨立運行的程序即服務,微服務架構其實就是一個分布式架構,具體的就不詳細的講了,因為這裡面牽涉到的解決方案是靈活的。
Linux:linux的應用通常都是在底層,那我們上層開發人員為什麼也要學它呢,其實我們的主要應用是在伺服器上,也就是伺服器的系統。當然系統也有Windows的,而Windows的和Linux的區別就是Windows伺服器有問題是微軟來解決,很方便:別人替你做,但也不方便:你遇到問題都得讓他官方來解決漏洞,但是Linux就不一樣,他是完全開源的,有問題自己馬上就可以解決,只要開發人員能力夠硬去改內核都是可以的。
Git:版本管理工具,與之對應的還有svn,最大的區別在於git是分布式系統,而svn不是分布式的,因為你們進企業以後都是協同開發 也就是一個項目小組裡面幾個小夥伴一起開發一個項目,所以就要有一個代碼的管理工具來保證你們做的不同模塊可以整合,所以說git也是需要學的。
D. 求java學習路線圖
/*回答內容很長,能看完的少走一個月彎路,絕不抖機靈*/
提前預警:本文適合Java新手閱讀(老手可在評論區給下建議),希望大家看完能有所收獲。
廢話不多少了,先了解一下Java零基礎入門學習路線:
第一階段:JavaSE階段
變數、數據類型、運算符
二進制和十進制的轉化
注釋、單行注釋、多行注釋、文本注釋、注釋內容和位元組碼的關系
標識符、關鍵字、駝峰原則
變數的本質、內存畫圖、變數聲明和初始化
變數的分類和作用域(局部變數、成員變數、靜態變數)
常量和Final
基本數據類型介紹
整型變數和整型常量
浮點類型、float、double
char字元型、轉義字元
boolean布爾型、if語句使用要點、布爾類型佔用空間問題
運算符介紹
算數運算符(二元、自增、自減)
賦值和賦值運算符
關系運算符詳解
邏輯運算符、短路運算符詳解
位運算符詳解
字元串連接符
條件運算符(三元運算符)
運算符優先順序問題
自動類型轉換詳解
強制類型裝換詳解
基本數據類型裝換常見錯誤、溢出、L問題
使用Scanner獲取鍵盤輸入
控制語句
控制語句和實現邏輯對應
if單選結構
if_elseif_else多選結構
switch語句_IDEA更換主題
循環_while
循環_for循環_dowhile
嵌套循環
break和continue語句_標簽_控制語句底層原理
寫一個年薪計算機_網路查問題的秘訣(重要)
個人所得稅計算器軟體
方法核心詳解_天才思維模型教你高手學習思維模式
方法的重載
遞歸結構講解_遞歸頭_遞歸體
面向對象編程-基礎
面向過程和面向對象的區別
類和對象的概述
類的屬性和方法
創建對象內存分析
構造方法(Construtor)及重載
對象類型的參數傳遞
this關鍵字
static關鍵字詳解
局部代碼塊、構造代碼塊和靜態代碼塊
package和import詳解
JavaDoc生成API文檔
面向對象編程-進階
面向對象的三大特性
面向對象之【封裝(Encapsulation)】
訪問許可權修飾符
面向對象之【繼承(Inheritance)】
Object類
方法重寫Override
super關鍵字詳解
重寫equals()和toString()
繼承中對象創建的內存分析
面向對象之【多態(Polymorphism)】
向上轉型
向下轉型
instanceof運算符
編譯時和運行時詳解
final修飾符
抽象類和抽象方法(abstrct)
介面的定義和實現
JDK8的介面新特性
介面應用:內部類比較器Comparable
內部類詳解
Java的內存管理與垃圾回收
異常機制
異常的概述
異常的執行過程與分析
try-catch-finally捕捉異常
throw拋出異常
throws聲明異常
異常繼承體系
運行時異常和編譯異常
自定義異常
Java常用類
Wrapper包裝類
自動裝箱和自動拆箱
包裝類的源碼分析
String類的使用與內存原理
String類的源碼分析
StringBuffer
StringBuilder
字元串處理類性能分析
Date類
System類
DateFormat類
Calendat類
Math類
BigInteger類和BigDecimal類
Random類
枚舉類
File類
常見的面試題講述與分析
數據結構的概述
線性表
順序表
鏈表
棧和隊列
樹
二叉樹
二叉查找樹
二叉平衡樹
黑紅樹
圖
冒泡排序
選擇排序
遞歸
折半查找
集合和數組的聯系和區別
集合框架體系
ArrayList的使用和源碼分析
集合中使用泛型
LinkedList的使用和源碼分析
HashSet的使用和源碼分析
哈希表及原理
TreeSet的使用和源碼分析
比較器Comparable和Comparator
HashMap的使用和源碼分析
TreeMap的使用和源碼分析
Iterator於ListIterator
Collections工具類
舊集合類Vector、Hashtable
集合總結和選擇依據
泛型介面
泛型類
泛型方法
IO流的概念
IO流的分類及其原理分析
文件流FlieInputStream、FileOutputStream
緩沖流BufferedInputStream、BufferedOutputStream
數據流ObjectInputStream、ObjectOutputStream
序列化和反序列化
轉換流InputStreamReader、OutputStreamWriter
列印流PrintWrite和PrintStream
數組流ByteArrayOutputStream、ByteArrayInputStream
使用IO復制文件夾
進程和線程
線程的創建與啟動
創建線程的三種方式對比
線程的生命周期
線程式控制制
多線程的安全問題與解決辦法
線程的同步:同步代碼塊
線程的同步:同步方法
線程的同步:Lock鎖
線程的死鎖問題
線程通信
Condition
線程的完整生命周期
線程池ThreadPoolExecutor
ForkJoin框架
ThreadLocal類
計算機網路基礎知識
網路通信協議
OSI參考模型
TCP/IP參考模型
數據的封裝與拆封原理解析
TCP協議
UDP協議
IP地址和埠號
URL和Socket
使用TCP編程實現登錄功能
使用UDP編程實現客服系統
使用TCP編程實現文件上傳
手寫ArrayList
手寫單鏈表
手寫Linkedlist
手寫HashMap
手寫HashSet
最新並發集合類
生產者消費者模式擴展
Lock鎖和Condition
ReadWriteLock
BlockingQueue
volatile關鍵字
多線程題目練習
JDK新特徵
面試題詳解
設計模式入門
面向對象設計七大原則
簡單工廠模式
工廠方法模式
單例模式
原型模式
裝飾模式
適配器模式
外觀模式
數據結構演算法
集合(容器)
IO流
多線程
網路編程
集合提升尋訓練
多線程提升訓練
設計模式
第二階段:資料庫
資料庫基礎知識
MySQL基礎知識
MySQL8新特徵
安裝和卸載MySQL8
使用navicat訪問資料庫
SQL語言入門
創建資料庫表
DML
修改刪除資料庫表
表的完整性約束
表的外鍵約束
DML擴展
基本select查詢
where子句
函數
group by
having
SQL99-內連接查詢
SQL99-外連接查詢
SQL99-自連接查詢
SQL92-連接查詢
不相關子查詢
相關子查詢
分頁查詢
索引
事務及其特徵
事務的並發問題
事務的隔離級別
存儲過程
導入導出數據
JDBC概述
使用JDBC完成添加/更新/刪除操作
使用JDBC完成查詢操作
JDBC常用介面
使用PreparedStatement
使用事務完成銀行轉賬
提取DBUtil工具類
使用Properties讀寫屬性文件
日誌框架log4j
開發員工管理系統
MySQL基礎
MySQL 查詢語句
資料庫對象
JDBC
第三階段:JavaEE階段
web開發概述
B/S和C/S架構簡介
HTTP協議
HTTP請求頭和響應頭
Tomcat安裝使用
Tomcat目錄結構
Servlet概述
Servlet快速入門
Servlet生命周期
讀取配置文件信息
HttpServletRequest
HttpServletResponse
GET和POST區別
解決中文亂碼
請求轉發與重定向
絕對路徑和相對路徑
Cookie
Session
ServletContext
ServletConfig
JSP技術介紹
JSP的執行過程
scriptlet
表達式
聲明
JSP指令元素
JSP動作元素
JSP隱式對象
JSP底層原理
九大內置對象
四個作用域
Servlet和JSP的關系和區別
MVC模式
合並Servlet
JavaScript概述與特點
JS基礎語法
函數
數組
Math對象
String對象
Date對象
事件event
瀏覽器開發者工具
console
DOM和BOM
window
location
navigator
history
認識DOM
DOM獲取元素
jQuery簡介及快速入門
jQuery入口函數
jQuery對象與DOM對象互相轉換
基本選擇器
屬性選擇器
位置選擇器
表單選擇器
內容選擇器
jQuery事件
jQuery動畫效果
DOM操作-操作文本
DOM操作-操作屬性
DOM操作-操作元素
直接操作CSS樣式
操作CSS類樣式
購物車案例
表單驗證
正則表達式
EL介紹及使用
EL取值原理
EL隱含對象
EL邏輯運算
JSTL介紹-核心標簽庫
JSTL核心標簽庫
JSTL-格式標簽庫
Filter原理
Filter生命周期
Filter鏈
Filter登錄驗證
Filter許可權控制
Listener概述及分類
Listener監聽在線用戶
Ajax非同步請求和局部刷新的原理
使用原生Ajax驗證用戶唯一性
jQuery Ajax
JSON的格式和使用
主要JSON解析器
Jackson的使用
Jackson的實現原理
使用jQuery Ajax實現三級聯動
使用jQuery Ajax實現自動補全
分頁的意義
理解分頁工具類
實現基本分頁
實現帶查詢的分頁
文件上傳原理
文件上傳API
實現文件上傳
文件下載原理
文件下載響應頭
實現文件下載
Servlet
JSP
JavaScript
jQuery
EL+JSTL+過濾器+監聽器
Ajax和JSON
分頁和文件上傳/下載
第四階段:框架階段
MyBatis概述
MyBatis入門配置
基本的CRUD操作
核心配置文件詳解
Mapper.xml基礎詳解
模糊查詢
分頁的實現及插件PageHelper的使用
動態sql+sql片段的使用
一對多、多對一的關系處理
註解的使用
一級緩存和二級緩存說明及使用
generator逆向工程使用
Spring框架簡介
Spring官方壓縮包目錄介紹
Spring環境搭建
IoC/DI容器詳解
Spring創建Bean的三種方式
scope屬性講解
Spring中幾種注入方式
靜態代理設計模式
動態代理設計模式
AOP詳解
AOP中幾種通知類型
AOP兩種實現方式
自動注入
聲明式事務
事務傳播行為
事務隔離級別
只讀事務
事務回滾
基於註解式配置
常用註解
Spring 整合MyBatis
i18n
Spring整合Junit
MVC架構模式
手寫MVC框架
SpringMVC簡介
SpringMVC運行原理
基於配置文件方式搭建環境
基於註解方式搭建環境
SpringMVC的跳轉及視圖解析器的配置
SpringMVC和Ajax的交互
Spring 參數注入
SpringMVC作用域傳值
視圖解析器
文件下載
文件上傳
Spring攔截器/攔截器棧
登錄狀態驗證
SpringMVC容器和Spring容器介紹
異常處理4種方式
SpringMVC5其他常用註解
Maven簡介
Maven原理
Linux安裝及注意事項
Maven項目結構
POM模型
Maven 中項目類型
創建WAR類型的Maven項目
scope屬性可取值
SSM項目拆分演示
Maven的常見插件講解
熱部署
BootStrap概述
BootStrap柵格系統
BootStrap常用全局CSS樣式
常用組件
常用JavaScript插件
RBAC概述
RBAC發展歷史
基於RBAC的資料庫表設計
URL攔截實現
動態菜單實現
密碼學
MyBatis
Spring
SpringMVC
Maven
BootStrap
RBAC
第五階段:前後端分離階段
Spring Boot簡介
Spring Boot實現Spring MVC
配置文件順序及類型講解
Spring Boot項目結構
Spring Boot 整合MyBatis
Spring Boot 整合Druid
Spring Boot 整合PageHelper
Spring Boot 整合logback
Spring Boot 整合JSP
Spring Boot 整合Thymeleaf
Spring Boot 開發者工具
Spring Boot 異常顯示頁面
Spring Boot 整合Junit4
Spring Boot 項目打包部署
Spring Boot 整合Quartz
Spring Boot 中Interceptor使用
Spring Boot Actuator
HikariCP
Logback簡介
Logback依賴說明
Logback 配置文件講解
Logback 控制台輸出
Logback 文件輸出
Logback 資料庫輸出
Spring Security簡介
Spring Security架構原理
什麼是認證和授權
基礎環境搭建
自定義認證流程
UserDetailsService和UserDetails
PasswordEncoder
自定義認證結果
授權-訪問路徑匹配方式
授權-許可權管理
基於註解實現許可權管理
Thymeleaf整合Security許可權管理
Rememberme 實現
退出實現
CSRF
Linux簡介
VMWare安裝及使用
Linux安裝及注意事項
Linux目錄結構及路徑
Linux常用命令
VMWare常用配置
XShell安裝及使用
Xftp安裝及使用
JDK解壓版配置步驟
Tomcat配置步驟
安裝MySQL
WAR包部署
Docker簡介
Docker與VM對比
Docker特點
Docker架構
Docker安裝與啟動
鏡像加速器配置
Docker鏡像操作常用命令
Docker容器操作常用命令
DockerFile
搭建本地鏡像倉庫
推送鏡像到阿里雲及本地倉庫
Docker容器生命周期
Docker數據管理
Redis簡介
Redis 單機版安裝
Redis 數據類型介紹
Redis 常用命令
Redis 持久化方案
Redis 的主從搭建
Redis的哨兵搭建
Redis 的集群搭建
Spring Boot整合Spring Data Redis
Redis的緩存穿透
Redis的緩存雪崩
Redis的緩存擊穿
vsCode和插件安裝
webpack介紹
Vue項目創建
Vue模板語法
Vue條件渲染
Vue列表渲染
Vue事件處理
Vue計算屬性
Vue Class與Style
Vue表單處理
Vue組件
Vue組件生命周期
Vue 路由配置
Vue Axios網路請求
Vue跨域處理
Vue Element
Mock.js
Swagger2簡介
Springfox
Swagger2基本用法
Swagger-UI用法
Swagger2配置
Swagger2常用配置
Git的下載和安裝
Git和SVN對比
Git創建版本庫
Git版本控制
Git遠程倉庫
Git分支管理
Git標簽管理
GitEE建庫
GitEE 連接及使用
GitEE 組員及管理員配置
Spring Boot
Logback
Spring Security
Linux - CentOS 8
Docker
Redis
Vue
Swagger
Git/GitEE
第六階段:微服務架構
分布式文件系統概述
FastDFS簡介
FastDFS架構
Tracker Server
Storage Server
FastDFS安裝
安裝帶有FastDFS模塊的Nginx
Fastdfs-java-client的使用
創建Fastdfs-java-client工具類
實現文件上傳與下載
KindEditor介紹
通過KindEditor實現文件上傳並回顯
AMQP簡介
RabbitMQ簡介
安裝Erlang
安裝RabbitMQ
RabbitMQ原理
Spring Boot 集成RabbitMQ
RabbitMQ的交換器
Spring AMQP的使用
Eureka簡介
Eureka和Zookeeper 對比
搭建Eureka注冊中心
Eureka 服務管理平台介紹
搭建高可用集群
集群原理
Eureka優雅停服
Ribbon簡介
集中式與進程內負載均衡區別
Ribbon常見的負載均衡策略
Ribbon的點對點直連
Feign簡介
Feign的請求參數處理
Feign的性能優化
配置Feign負載均衡請求超時時間
Hystrix簡介
服務降級
服務熔斷
請求緩存
Feign的雪崩處理
可視化的數據監控Hystrix-dashboard
Spring Cloud Gateway簡介
Gateway基於配置文件實現路由功能
Gateway基於配置類實現路由功能
Gateway中內置過濾器的使用
Gateway中自定義GatewayFilter過濾器的使用
Gateway中自定義GlobalFilter過濾器的使用
Gateway中使用過濾器實現鑒權
Gateway結合Hystrix實現熔斷功能
什麼是分布式配置中心
創建配置中心服務端
創建配置中心客戶端
基於Gitee存儲配置文件
基於分布式配置中心實現熱刷新
什麼是消息匯流排
基於消息匯流排實現全局熱刷新
ElasticSearch介紹
ElasticSearch單機版安裝
ElasticSearch集群版安裝
ElasticSearch索引管理
ElasticSearch文檔管理
ElasticSearch文檔搜索
SpringDataElasticSearch訪問ElasticSearch
LogStash介紹
基於LogStash收集系統日誌
分布式事務簡介
分布式事務兩大理論依據
分布式事務常見解決方案
LCN簡介
TX-LCN的3種模式
LCN原理
LCN環境搭建及Demo演示
Nginx的簡介
什麼是正向代理、反向代理
Nginx的安裝
Nginx配置虛擬主機
Nginx配置服務的反向代理
Nginx的負載均衡配置
Spring Session介紹
通過Spring Session共享session中的數據
通過Spring Session同步自定義對象
Spring Session的Redis存儲結構
設置Session失效時間
Spring Session序列化器
MyBatis Plus簡介
Spring整合MyBatis Plus
MyBatis Plus的全局策略配置
MyBatis 的主鍵生成策略
MyBatis Plus的CRUD操作
條件構造器EntityWrapper講解
MyBatis Plus的分頁插件配置
MyBatis Plus的分頁查詢
MyBatis Plus的其他插件講解
MyBatis Plus的代碼生成器講解
MyBatis Plus的公共欄位自動填充
簡介
資料庫切分方式
基本概念
MySQL主從配置
切片規則
讀寫分離
實現分庫分表
FastDFS
RabbitMQ
Spring Cloud Netflix Eureka
Spring Cloud Netflix Ribbon
Spring Cloud OpenFeign
Spring Cloud Netflix Hystrix
Spring Cloud Gateway
Spring Cloud Config
Spring Cloud Bus
ELK
TX-LCN
Nginx
Spring Session
MyBatis Plus
ShardingSphere
第七階段:雲服務階段
Kafka簡介
Kafka架構
分區和日誌
Kafka單機安裝
Kafka集群配置
自定義分區
自動控制
Spring for Apache Kafka
Zookeeper簡介和安裝
Zookeeper 數據模型
Zookeeper 單機版安裝
Zookeeper常見命令
ZClient操作Zookeeper
Zookeeper 集群版安裝
Zookeeper 客戶端常用命令
Zookeeper分布式鎖
什麼是分布式架構
什麼是RFC、RPC
HttpClient實現RPC
RestTemplate
RMI實現RPC
基於Zookeeper實現RPC 遠程過程調用
SOA架構介紹
Dubbo簡介
Dubbo結構圖
Dubbo注冊中心
Dubbo 支持的協議
Dubbo 注冊中心搭建
Spring Boot 整合 Dubbo
Admin管理界面
Dubbo 搭建高可用集群
Dubbo 負載均衡
Spring Cloud Alibaba Dubbo簡介
基於Zookeeper發布服務
基於Zookeeper訂閱服務
實現遠程服務調用處理
Spring Cloud Alibaba Nacos簡介
搭建Nacos伺服器
基於Nacos發布|訂閱服務
實現遠程服務調用處理
Nacos Config配置中心
Spring Cloud Alibaba Sentinel簡介
搭建Sentinel伺服器
Sentinel-實時監控
Sentinel-簇點鏈路
Sentinel-授權規則
Sentinel-系統規則
@SentinelResource註解
持久化規則
Spring Cloud Alibaba Seata簡介
搭建Seata伺服器
Seata支持的事務模式-AT模式
Seata支持的事務模式-TCC模式
Seata支持的事務模式-Saga模式
Seata支持的事務模式-XA模式
SeataAT事務模式應用方式
SeataTCC事務模式應用方式
Kafka
Zookeeper
RPC
Dubbo
Spring Cloud Alibaba Dubbo
Spring Cloud Alibaba Nacos
Spring Cloud Alibaba Sentinel
Spring Cloud Alibaba Seata
E. 如何進入大數據領域,學習路線是什麼
分享大數據學習路線:
第一階段為JAVASE+MYSQL+JDBC
主要學習一些Java語言的概念,如字元、流程式控制制、面向對象、進程線程、枚舉反射等,學習MySQL資料庫的安裝卸載及相關操作,學習JDBC的實現原理以及Linux基礎知識,是大數據剛入門階段。
第二階段為分布式理論簡介
主要講解CAP理論、數據分布方式、一致性、2PC和3PC、大數據集成架構。涉及的知識點有Consistency一致性、Availability可用性、Partition tolerance分區容忍性、數據量分布、2PC流程、3PC流程、哈希方式、一致性哈希等。
第三階段為數據存儲與計算(離線場景)
主要講解協調服務ZK(1T)、數據存儲hdfs(2T)、數據存儲alluxio(1T)、數據採集flume、數據採集logstash、數據同步Sqoop(0.5T)、數據同步datax(0.5T)、數據同步mysql-binlog(1T)、計算模型MR與DAG(1T)、hive(5T)、Impala(1T)、任務調度Azkaban、任務調度airflow等。
第四部分為數倉建設
主要講解數倉倉庫的歷史背景、離線數倉項目-伴我汽車(5T)架構技術解析、多維數據模型處理kylin(3.5T)部署安裝、離線數倉項目-伴我汽車升級後加入kylin進行多維分析等;
第五階段為分布式計算引擎
主要講解計算引擎、scala語言、spark、數據存儲hbase、redis、ku,並通過某p2p平台項目實現spark多數據源讀寫。
第六階段為數據存儲與計算(實時場景)
主要講解數據通道Kafka、實時數倉druid、流式數據處理flink、SparkStreaming,並通過講解某交通大數讓你可以將知識點融會貫通。
第七階段為數據搜索
主要講解elasticsearch,包括全文搜索技術、ES安裝操作、index、創建索引、增刪改查、索引、映射、過濾等。
第八階段為數據治理
主要講解數據標准、數據分類、數據建模、圖存儲與查詢、元數據、血緣與數據質量、Hive Hook、Spark Listener等。
第九階段為BI系統
主要講解Superset、Graphna兩大技術,包括基本簡介、安裝、數據源創建、表操作以及數據探索分析。
第十階段為數據挖掘
主要講解機器學習中的數學體系、Spark Mlib機器學習演算法庫、Python scikit-learn機器學習演算法庫、機器學習結合大數據項目。