【快班】大型电商分布式系统实践
分布式系统
13周
21人
此课程所属【大数据攻城狮专业】专业,专业内有不少于15门推荐课程,目前平台推出【专业课程0元学】活动,只需0元即可在所有的专业课程中任选5门学习,超值优惠,助您快速成长!点击这里了解
讲师
- chenkangxian
- 某大型电商网站资深研发工程师,在网站分布式环境下耳濡目染,参与了众多业务系统的开发和架构设计工作,在分布式系统架构设计、高并发系统设计、系统稳定性保障等领域积累了较为丰富的实践经验,著有《大型分布式网站架构设计与实践》一书,曾在程序员上发表过《漫谈基于http协议的SOA架构》,《浅析HTTP平台的安全稳定性架构》两篇文章,对基于HTTP协议的SOA架构有深入研究,在系统稳定性保障方面有较为丰富的实践经验。
课程简介
在大型网站架构的演变过程中,集中式的架构设计出于系统的可扩展性、可维护性以及成本等多方面的因素考虑,逐渐被放弃,转而采用分布式的架构设计。分布式架构的核心思想是采用大量廉价的PC server,构建一个低成本、高可用、高可扩展、高吞吐的集群系统,以支撑海量的用户访问和数据存储,理论上具备无限的扩展能力。分布式系统的设计,是一门复杂的学问,它涉及到包括通信协议、远程调用,服务治理,系统安全、存储、搜索、监控、稳定性保障、性能优化、数据分析、数据挖掘等方方面面,而本课程将为大家一一进行介绍。
课程章节
- 第1课 大型分布式系统概述
- 1-1 集中式、垂直式、分布式应用架构的变迁思路
- 1-2 SOA体系架构,服务化的演变
- 1-3 SOA的基础--rpc远程调用
- 1-4 rpc与通信协议
- 1-5 对象序列化方式的选择
- 1-6 异构系统还是同构系统
- 1-7 远程调用的实现方式,基于http协议的远程调用,基于tcp协议的远程调用
- 第2课 服务的路由和负载均衡
- 2-1 为什么需要服务治理
- 2-2 服务的负载均衡,复杂环境下负载均衡所面临的问题(负载不均、多机房)
- 2-3 负载均衡算法及其扩展
- 2-4 如何动态配置路由规则
- 2-5 服务上线下线的动态感知
- 2-6 客户端容灾方案的实现
- 2-7 如何使用zookeeper实现服务路由和负载均衡
- 2-8 SOA架构所面临的问题
- 第3课 构建安全的分布式网站(一)
- 3-1 常见的web攻击手段,xss、crsf、sql注入攻击、DDos攻击等等
- 3-2 面对攻击,应该如何防御,具体的防御手段
- 3-3 如何架构安全的网站,保障通信的安全
- 3-4 常用的安全算法的使用场景<1>
- 3-5 校验数据是否被篡改,数字摘要
- 3-6 加密传输内容,对称加密算法
- 3-7 校验消息发送和接收方身份,非对称加密算法
- 第4课 构建安全的分布式网站(二)
- 4-1 常用的安全算法的使用场景<2>
- 4-2 数字签名及其使用场景
- 4-3 为什么需要认证
- 4-4 签名认证的原理和实现
- 4-5 摘要认证的原理和实现
- 4-6 为什么需要https协议,https协议能够带来什么
- 4-7 https协议的原理解析
- 4-8 使用tomcat部署https web
- 4-9 平台厂商所面临的问题及开放平台的出现
- 4-10 oauth协议解决了什么问题及oauth协议的适用场景
- 第5课 分布式系统基础设施之缓存
- 5-1 缓存的使用场景
- 5-2 数据一致性的保障
- 5-3 缓存的负载均衡问题,雪崩效应的产生
- 5-4 如何解决缓存的负载均衡问题
- 5-5 缓存的强依赖及可靠性的解决
- 5-6 memcache的介绍及使用
- 5-7 分布式系统基础设施之持久化存储
- 5-8 IOE太贵,无法扩展,mysql+pc server节约成本
- 5-9 pc server的承载有限,业务拆分的实施,mysql复制策略
- 5-10 读的压力过大,读写分离
- 5-11 单表数据量太大,则分表
- 5-12 写入压力太大,则分库
- 第6课 分布式系统基础设施之持久化存储
- 6-1 为提升性能,mysql的取舍
- 6-2 海量数据,高并发写入,该hbase上场了
- 6-3 hbase的api,row key的设计
- 6-4 什么场景不适合使用hbase
- 6-5 小而美的redis,多种数据类型,快速存取
- 6-6 redis数据类型的介绍,使用案例
- 6-7 分布式系统基础设施之消息系统
- 6-8 消息系统的使用场景,为什么要使用消息系统
- 6-9 消息发送的两种模式,p2p和订阅
- 6-10 消息投递的顺序问题的产生及消息内容的去重
- 第7课 分布式系统基础设施之垂直化搜索引擎
- 7-1 垂直化搜索的使用场景
- 7-2 基于lucene的搜索引擎的基本原理
- 7-3 构建索引
- 7-4 索引更新与查询
- 7-5 结果排序
- 7-6 高亮
- 7-7 中文分词
- 7-8 索引优化
- 7-9 搜索引擎的扩展性
- 7-10 使用搜索引擎所面临的问题
- 第8课 保障分布式系统的稳定性(一)
- 8-1 在线日志分析及常用命令
- 8-2 在线日志分析的技巧,sed、awk、shell的及使用
- 8-3 如何查看服务器当前的状态,服务器的监控指标解析
- 8-4 load、cup利用率
- 8-5 磁盘剩余空间
- 8-6 网络traffic
- 8-7 磁盘IO
- 8-8 内存使用
- 8-9 qps、rt
- 8-10 jvm gc对稳定性和性能的影响
- 8-11 如何分析jvm产生的gc日志
- 第9课 保障分布式系统的稳定性(二)
- 9-1 集群监控及流量控制
- 9-2 服务器的心跳检测实现方法
- 9-3 大流量到来前,服务器的容量评估及应用水位的检测
- 9-4 如何对流量进行控制
- 9-5 服务稳定性的实现方案: 依赖管理&服务分级&优雅降级&开关&应急预案
- 9-6 高并发系统与普通系统的区别
- 9-7 原子操作解决了什么问题
- 9-8 jvm原子操作实现的原理(包含jvm源代码解析)
- 第10课 保障分布式系统的稳定性(三)
- 10-1 如何设计高并发系统
- 10-2 java的多线程同步及锁的机制
- 10-3 分布式条件下数据一致性及系统可扩展性的保障
- 10-4 高并发条件下减库存的案例
- 10-5 性能优化--找出系统的性能瓶颈
- 10-6 找出前端的性能问题
- 10-7 监测网页的响应时间
- 10-8 监测java方法的响应时间
- 第11课 性能优化--找出系统的性能瓶颈
- 11-1 java应用程序gc日志的分析
- 11-2 影响mysql数据库性能的因素
- 11-3 为什么要进行性能测试
- 11-4 性能测试的方法和工具
- 11-5 apache ab
- 11-6 apache jmeter
- 11-7 load runner
- 11-8 性能环境和真实环境的差异
- 11-9 如何进行性能优化
- 11-10 前端性能优化的实施
- 11-11 java程序性能优化的实施
- 第12课 如何进行性能优化
- 12-1 数据压缩带来性能的提升,不同算法效率的比较
- 12-2 使用缓存提升性能
- 12-3 mysql数据库查询优化
- 12-4 java应用程序gc优化
- 12-5 使用新硬件提升性能
- 12-6 java应用常用的故障排查工具
- 12-7 jps&jmap&jinfo&jstack
- 12-8 mat
- 12-9 VisualVM
- 12-10 java应用典型问题
- 第13课 数据分析对于大型分布式网站的意义
- 13-1 分布式文件系统
- 13-2 离线数据分析,mapreduce、hive
- 13-3 实时数据分析,storm
- 13-4 离线数据同步,Apache sqoop
- 13-5 实时数据同步,mysql的实现方案
- 13-6 数据报表能提供什么,报表系统的实现思路
授课对象
希望从事互联网分布式网站应用开发的相关行业工作的开发人员及在校学生
学费
学费: ¥400 ( 固定学费: ¥300, 逆向学费: ¥100 )
新颖的课程收费形式:“逆向收费”约等于免费学习,仅收取300元固定收费+100元逆向学费,学习圆满则逆向学费全额返还给学员!