第1部份 大型分布式系統原理概述
結合業界主流的那些開源軟件,介紹和分析分布式系統的基本架構,組成部分,和實現原理。幾款常用的軟件以及功能功能性對比。
第2部份 分布式系統之網絡篇
Zookeeper入門
Zookeeper原理: Zookeeper原理介紹
Curator客戶端 : 對Zookeeper知名客戶端Curator進行介紹,初步掌握其編程方式和用法。
迷你P2P網絡服務案例: 采用Zookeeper打造一個迷你P2P網絡系統,節點之間相互交換名片,并且實現動態路由(節點宕機后其他節點自動感知并更新鏈路狀態),
第3部份 分布式存儲-文件系統篇
傳統的分布式文件系統:Lustre、GlusterFS等經典分布式文件系統分析
新型分布式文件系統:介紹Ceph以及它跟Openstack的關系
互聯網領域中的小文件系統:GridFS、FastDFS、TFS等分析學習
第4部份 分布式存儲-內存篇
Hazelcast 詳解與分析
GridGain詳解與分析
MemCache詳解與分析
案例集錦:分布式系統存儲之基于內存的兩表Join演示
第5部份 分布式存儲-數據庫篇
分布式數據庫原理 :介紹分布式數據庫的實現原理,特性、優缺點、以及難點、熱點問題
Mycat前世今生:介紹目前基于MYSQL的熱門開源數據庫血統,包括Cobar、tddl、Amoeba、以及目前很火的Mycat
案例集錦:某大型網站每天1億數據處的案例剖析
第6部份 分布式系統之云計算篇
主機虛擬化:介紹主機虛擬化的技術
網絡虛擬化:介紹網絡虛擬化的技術
存儲虛擬化:介紹存儲虛擬化的技術
云計算實踐:VirtualBox虛機集群搭建
Openstack原理介紹:介紹Openstack的體系、架構、以及基本功能
案例集錦:基于RDO實現Openstack的安裝、部署等。
第7部份 分布式計算框架
Map-Reduce原理:介紹Map-Reduce的原理以及限制問題
Apache Storm應用:學習Storm的原理并搭建測試環境,掌握基本編程
案例集錦:實現基于Storm的1000萬×1000萬的SQL Join和排序分頁
第8部份 通信機制的設計與實現
分布式通信機制概述:講解分布式通信的幾種常見機制,RPC調用、共享遠程數據、消息隊列等。
RPC通信機制的原理 講解RPC通信機制的原理和實現方式:
案例集錦:設計并實現一個XML-RPC框架 動手設計和實現一個簡單的XML-RPC框架
第9部份 消息隊列
消息隊列機制介紹: 介紹古典的和新型的消息隊列機制的相同點和不同點
消息隊列通信的案例分析: 對一些采用消息隊列通信的系統做分析,掌握消息隊列用作分布式通信的一般設計原則
案例集錦:對知名開源消息中間件Kafka做一個入門學習,并動手完成一個實際編程案例
第10部份 打造高可用系統(上)
高可用系統常規方案:介紹高可用系統的一些原理、實現機制、常規實現方案,包括基于硬件、軟件中間件、系統架構等一些典型方案的實現
HA Proxy入門:介紹業界常規的HA Proxy的原理以及用法
實踐篇:Java開發一個類似HA Proxy的代理中間件
第11部份 打造高可用系統(下)
高可用集群套件中間件:介紹基于Corosync+Pacemaker的高可用集群套件中間件系統的原理、配置以及常見案例
Corosync技術;
Pacemaker技術;
Pacemaker實踐:實現基于Pacemaker的MYSQL高可用方案。
第12部份 Mycat架構的分布式演進背后的秘密
配置文件的分布式訪問問題:為什么終選擇了Zookeeper
Mycat負載均衡的特殊性:為什么標準的HA Proxy還無法滿足Mycat的負載均衡要求
大數據Join背后的難題:數據、網絡、內存和計算能力的矛盾和調和
第13部份 Java分布式系統中的高性能難題
高性能網絡框架的難題:AIO,NIO,Netty還是自己開發框架
堆內和堆外存儲:堆內與堆外存儲的差別,開源的堆外存儲組件為何鳳毛麟角
高性能事件派發機制:線程池模型的性能問題以及不為人知的Disruptor模型
第14部份 挑戰自我——全棧架構師實踐
本節部份程的目標,是挑戰自我,開發一個基于Zeroc ICE+Zookeeper+Mycat+Android App+ Web系統的“身邊購”平臺,目標是支持1億用戶,每天交易訂單為1億,商家自己在手機上通過Appp注冊自己的店鋪,店鋪包括地理位置信息,后臺審批通過,然后可以拍照上架自己的貨物,定價,發售。用戶登錄App以后,根據其地理位置信息,顯示附近的(默認3公里)新品、熱門商品、二手商品等,并可以下單。
|