大型电商分布式网站实践
Kaxa Chen 查看讲师
百林哲咨询(北京)有限公司专家团队成员
曾任淘宝技术部技术专家,著有一书,在分布式系统架构设计、高并发系统设计、系统稳定性保障等领域积累了较为丰富的实践经验。
浏览:4229次
详情 DETAILS

简介

在大型网站架构的演变过程中,集中式的架构设计出于系统的可扩展性、可维护性以及成本等多方面的因素考虑,逐渐被放弃,转而采用分布式的架构设计。分布式架构的核心思想是采用大量廉价的PC server, 构建一个低成本、高可用、高可扩展、高吞吐的集群系统,以支撑海量的用户访问和数据存储,理论上具备无限的扩展能力。分布式系统的设计,是一门复杂的学问,它涉及到包括通信协议、远程调用,服务治理,系统安全、存储、搜索、监控、稳定性保障、性能优化、数据分析、数据挖掘等方方面面,而本课程将为大家展现大型电商分布式网站的全貌。

目标

1.使学员深入了解大型分布式网站的概况和全貌

2.详细介绍大型电商网站所面临的一些常见场景

3.理解在不同场景下,该如何选择技术手段解决问题

4.理解大型网站稳定性保障、监控、性能优化、数据分析、数据挖掘等方方面面的知识

5.结合学员提问,介绍一些大纲中没有提到的知识点,帮助大家扩展知识面

课程时长 

2天(12H)

受众人群

有一定java和linux基础的学员

分享提纲

第1天

方向

内容安排

3小时

大型分布式电商网站全貌及演变历程

集中式、垂直式、分布式应用架构的变迁思路
SOA体系架构,服务化的演变
SOA的基础--rpc远程调用
--rpc与通信协议
--对象序列化方式的选择
--异构系统还是同构系统
--远程调用的实现方式,基于http协议的远程调用,基于tcp协议的远程调用

服务的路由和负载均衡
--为什么需要服务治理
--服务的负载均衡,复杂环境下负载均衡所面临的问题(负载不均、多机房)
--负载均衡算法及其扩展
--如何动态配置路由规则
--服务上线下线的动态感知
--客户端容灾方案的实现
--如何使用zookeeper实现服务路由和负载均衡
SOA架构所面临的问题

3小时

大型分布式网站的基础设施

分布式系统基础设施之缓存
--缓存的使用场景
--数据一致性的保障
--缓存的负载均衡问题,雪崩效应的产生
--如何解决缓存的负载均衡问题
--缓存的强依赖及可靠性的解决
--memcache的介绍及使用
分布式系统基础设施之持久化存储
--IOE太贵,无法扩展,mysql+pc server节约成本
--pc server的承载有限,业务拆分的实施,mysql复制策略
--读的压力过大,读写分离
--单表数据量太大,则分表
--写入压力太大,则分库

分布式系统基础设施之持久化存储
--为提升性能,mysql的取舍--海量数据,高并发写入,该hbase上场了
--hbase的api,row key的设计
--什么场景不适合使用hbase
--小而美的redis,多种数据类型,快速存取
--redis数据类型的介绍,使用案例
分布式系统基础设施之消息系统
--消息系统的使用场景,为什么要使用消息系统
--消息发送的两种模式,p2p和订阅
--消息发送的一致性和可靠性,最终一致性解决方案
--消息投递的顺序问题的产生及消息内容的去重

分布式系统基础设施之垂直化搜索引擎
垂直化搜索的使用场景
基于lucene的搜索引擎的基本原理
--构建索引
--索引更新与查询
--结果排序
--高亮
--中文分词
--索引优化

--搜索引擎的扩展性
--使用搜索引擎所面临的问题

第二天

方向

内容安排

3小时

大型网站的稳定性保障

保障分布式系统的稳定性
在线日志分析及常用命令
在线日志分析的技巧,sed、awk、shell的及使用
如何查看服务器当前的状态,服务器的监控指标解析
--load、cup利用率
--磁盘剩余空间
--网络traffic
--磁盘IO
--内存使用
--qps、rt
jvm gc对稳定性和性能的影响
如何分析jvm产生的gc日志

保障分布式系统的稳定性
集群监控及流量控制
--服务器的心跳检测实现方法
--大流量到来前,服务器的容量评估及应用水位的检测
--如何对流量进行控制
--服务稳定性的实现方案: 依赖管理&服务分级&优雅降级&开关&应急预案
高并发系统与普通系统的区别
--原子操作解决了什么问题

如何设计高并发系统
--java的多线程同步及锁的机制
--分布式条件下数据一致性及系统可扩展性的保障
--高并发条件下减库存的案例
性能优化--找出系统的性能瓶颈
--找出前端的性能问题
--监测网页的响应时间
--监测java方法的响应时间

3小时

Workshop

老师&学员共同实现

1.实现一个分库分表的简单的case

2.jvm堆内存问题排查、常见参数的配置

3.监测java方法的响应时间


预约内训 APPLY
前往提交您的需求,我们会及时与您联系
课程推荐 COURSE

企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1