大型分布式系统案例实战

这是一个互联网与大数据的时代,所有的系统都是分布式的,分布式系统的通信技术再次被互联网巨头所重视,HTTP REST这种曾经风靡一时的远程通信技术不再风光,老牌的RPC框架Zeorc ICE正在低调的进军互联网领域,与此同时,各类新的通信技术不断诞生, Facebook Thrift一经开源即引起轰动, Hadoop之父兼apache主席的Doug Cutting也耐不住诱惑,释放了他在Hadoop里的创新性的RPC框架——Avro,而名字霸气的不能在霸气的ZeroMQ的作者也悄悄的开发了第二代产品nanomsg,开始把消息系统扩展到RPC领域,分布式情况下,系统的配置文件问题如何解决?Zookeeper为什么会几乎出现在每个新诞生的分布式系统中,它又有什么魅力?NoSQL俨然成为很多系统中必备的组件,开源项目中大家用的最多的是又是哪些,如何快速入门?数据库越来越大,有没有新的分布式数据库可以解决问题,Cobar闭源之后的Mycat又是怎么回事,能解决100亿的单表性能问题么?大数据时代,数据越来越大, Map Reduce已经跟不上时代了,Storm、Spark Stream等新一代的分布式实时计算框架正在相互竞争中迅猛发展,如何理解他们的作用,如何将其用于实际的业务系统中? 虽然我们不大可能再设计一个从零开始的大型分布式系统,但站在开源巅峰,我们仍有可能只花费20%的代价去构造一个符合我们业务需求的分布式平台,而在这个设计实现过程之中,我们需要遵循哪些普世原则和设计准则?云计算如火如荼的发展着, 网易早就部署了Openstack,你又是否认真学习过?如果你看过上面的文字,不能呼吸的话,就请跟随本课程的资深导师,一起进入到分布式系统案例实践的精彩世界里,通过一个季度的紧张学习,让自己发展成为这方面的小小专家。

课程大纲:
第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公里)新品、热门商品、二手商品等,并可以下单。

授课对象:
3年及以上Java开发经验,或者2年偏向后台开发的Java工程师,以及Java软件架构师,需要懂基本的多线程开发、Socket开发等经验,具备较强的J2SE编码能力。

课程必备:
Eclipse开发环境+JDK7

收获预期:
学员对分布式系统的底层通信有了很深刻的理论收获,同时对业界最新的分布式通信技术和开源项目有了踏实的入门实践经验,最后,通过完整系统的学习本课程,也在分布式系统架构和关键代码开发方面收获宝贵的经验。






文件名称:大型分布式系统案例实战

下载地址:百度网盘

资源来源:网络收集

网盘资源均收集于网络,只作学习和交流使用,版权归原作者所有,请在下载后24小时之内删除!若作商业用途,请到原网站购买,由于未及时购买和付费发生的侵权行为,与本站无关。

点击下载

0
分享到:

评论0

请先

没有账号? 忘记密码?