软件架构及性能调优相关技术培训
【课程编号】:NX20894
软件架构及性能调优相关技术培训
【课件下载】:点击下载课程纲要Word版
【所属类别】:职业技能培训
【培训课时】:2天,6小时/天
【课程关键字】:软件架构培训,性能调优培训
我要预订
咨询电话:027-5111 9925 , 027-5111 9926手机:18971071887邮箱:Service@mingketang.com
课程特色
互联网时代的到来,使得互联网上的产品具有创新成本低、需求变化快、用户群体大等特点,促使业务不断扩大,软件功能持续增加,导致单体架构的维护成本、人员学习成本、缺陷修复成本、增加新功能的成本以及系统扩展成本等都在急剧增加,单块架构无法适应互联网时代的快速变化,面临着越来越多的挑战,一方面,代码的可维护性、扩展性、灵活性在降低;而另一方面,系统的测试成本、构建成本以及维护成本在显著增加。因此,随着项目或者产品规模的不断扩大,单块架构应用的改造与重构势在必行。
微服务架构随着RESTful、容器技术、云计算、DevOps、持续交付、敏捷项目管理等IT技术的深入应用,有效的解决了互联网时代遇到的众多挑战,因此微服务架构深受企业的欢迎,并在企业内部所采用。
培训目标
1、学习掌握微服务架构的基础知识;
2、学习掌握常见的集中微服务框架介绍及选型对比(dubbo、springCloud、motan、servicemesh);
3、使学员理解微服务技术架构的服务治理(熔断、降级、限流、自愈、过载保护);
4、使学员理解微服务技术架构本质以及设计的原则;
5、使学员理解分布式架构中高并发场景设计及实战分析(秒杀、抢购);
6、使学员理解分布式架构中间件场景应用(zookeeper kafka、rocketmq);
7、使学员理解如何保证分布式架构的高可用;
8、使学员理解多线程设计实现及案例分析;
9、使学员理解性能优化的方法论;
10、使学员理解代码优化及规范设计;
11、使学员理解JVM调优实战;
12、使学员理解Tomcat/Nginx/RocketMq调优;
13、使学员理解Sql调优;
14、学习掌握微服务间的异步通信机制;
15、学习了解微服务的监控与告警;
16、构建微服务的持续交付流水线;
17、使学员深入理解分布式的技术原理以及应用场景;
18、使学员学会设计微服务架构;
19、解决企业敏捷项目管理持续升级的运维管理问题;
20、使学员能学会监控、服务治理等工作;
21、提供解决问题的方法及思路,避免讲解编码怎么实现,编码实现可以通过补充材料的方式提供,供研发人员线下学习。
22、适当增加一些研发人员自我管理及自我提升方面的思路,如时间管理、自我管理等,不需要大篇幅讲解。
培训对象
1、本课程适合于企业IT架构师、技术经理等角色;
2、本课程适合于软件高级开发工程师;
3、本课程适合于业务需求人员;
4、本课程适合于企业高层管理人员;
5、本课程适合于IT运维人员;
培训方式
1、以课堂讲解、演示、案例分析为主,辅以互动研讨、现场答疑、学以致用。
2、讲师授课方式活跃,能够带动研发人员参与积极性。
3、培训内容理论与实践相结合,通过问答形式了解现在研发人员关注的问题,有针对性的进行讲解。
课程内容:
第一天
第1个主题:互联网时代的架构演变(30分钟)
1、互联网时代特征“快”
2、互联网时代对人性化软件的迫切要求
3、互联网时代产品特点
4、技术的多样性
5、精益创业
6、敏捷项目管理
7、DevOps
8、Docker
9、云计算
10、云原生应用
第2个主题:单体架构剖析(简单剖析单体架构的特点与不足)(30分钟)
1、单体架构产生的背景
2、单体架构的特征
3、单体架构模式
4、单体架构团队划分
5、单体架构出现的问题
6、单体架构模式的不足
7、单体架构的挑战
8、单体架构问题解决思路
9、传统应用架构的问题
第3个主题:微服务架构的基础知识(学习掌握微服务架构的基础知识)(30分钟)
1、为什么需要微服务架构?
2、微服务诞生的背景
3、研发团队:目标、成就感、奖惩、待遇、凝聚力
4、人才培育与成长(人员流动的优势与弊端)
5、微服务解决的问题
6、微服务架构解决方案
7、微服务架构适用的场景
8、微服务架构适用的企业
9、什么是微服务(MicroService)架构?
10、微服务架构是什么?
11、微服务架构思路
12、微服务的本质
13、微服务架构有哪些特征?
14、微服务架构视图
15、微服务架构构件
16、微服务架构的数据库
17、微服务的服务目录
18、SOA与微服务区别
19、SOA架构特点
20、微服务架构特点
21、微服务架构的优势
22、微服务架构的劣势
23、微服务的设计原则
第4个主题:集中微服务框架介绍及选型对比(深入剖析集中微服务框架介绍及选型对比)(90分钟)
1、Dubbo介绍
2、Dubbo优势与不足剖析
3、Dubbo的企业应用案例
4、Dubbo适用场景剖析
5、SpringCloud介绍
6、SpringCloud优势与不足剖析
7、SpringCloud的企业应用案例
8、SpringCloud适用场景剖析
9、Motan介绍
10、Motan优势与不足剖析
11、Motan的企业应用案例
12、Motan适用场景剖析
13、Servicemesh介绍
14、Servicemesh优势与不足剖析
15、Servicemesh的企业应用案例
16、Servicemesh适用场景剖析
17、Dubbo、SpringCloud、Motan、Servicemesh选型建议
第5个主题:微服务架构设计(30分钟)
1、业务需求分析
2、微服务软件架构体系
3、微服务硬件架构体系
4、微服务部署架构
5、业务模块划分
6、高内聚松偶合
7、模块灵活组装
8、松耦合,独立部署
9、SSO单点登录
10、凭证与鉴权
11、分布式事务一致性思考
12、微服务架构构建
13、REST
14、微服务快速弹性
15、高并发
16、微服务数据特征
17、案例:剖析如何对大型复杂系统进行微服务化
18、案例:剖析OpenStack的微服务化
19、微服务最佳实践
20、微服务最佳实践
21、微服务的划分
22、微服务模板
23、微服务向导
第6个主题:微服务架构的服务治理(微服务架构的服务治理)(60分钟)
1、微服务框架
2、服务注册发现
3、集中化配置中心
4、熔断
5、降级
6、限流
7、自愈
8、过载保护
9、API网关
10、容错处理
第7个主题:分布式架构概述(介绍分布式架构)(60分钟)
1、为什么使用分布式架构
2、分布式架构特征
3、CAP理论、BASE思想、RNW理论
4、分布式架构高并发场景设计
5、分布式架构中间件场景应用
a)Zookeeper
b)Kafka
c)消息中间件
d)RocketMQ
6、如何保证分布式架构的高可用
a)复本机制、主从机制、集群
b)异地多中
7、分布式架构高并发场景实战分析
a)秒杀分布式场景实战分析
b)抢购分布式场景实战分析
8、多线程设计实现及案例分析
9、微服务架构的分布式实现
第8个主题:微服务的实施(学习掌握实施微服务的架构)(30分钟)
1、微服务测试面临的挑战
2、黑盒测试、白盒测试
3、自动化单元测试
4、日构建
5、测试驱动开发
6、功能与界面分离设计
7、自动化测试报告
8、微服务的测试策略
9、通过/失败测试模式(Pass/Fail Patterns)
10、数据驱动测试模式(Data Driven Test Patterns)
11、数据处理事务测试模式(Data Transaction Patterns)
12、集合管理测试模式(Collection Management Patterns)
13、性能测试模式(Performance Patterns)
14、流程处理测试模式(Process Patterns)
15、仿真测试模式(Simulation Patterns)
16、多线程测试模式(Multithreading Patterns)
17、压力测试模式(Stress-Test Patterns)
18、展现层测试模式(Presentation Layer Patterns)
19、微服务测试等级
a)单元测试
b)组件接口测试
c)API测试
d)端到端测试
e)UI/UE测试
20、FIRST 原则
a)Fast 快速的
b)Isolated 隔离
c)Repeatable 可重复
d)Self-Validating 自验证
e)Timely 及时的
21、Right-BICEP测试原则
22、CORRECT检查原则
23、测试相关框架与库
24、测试用例的组织Given-When-Then
25、测试的过程
26、微服务测试策略
27、微服务测试实践
28、微服务的PACT测试
29、Pact是什么
30、Pact可以用来做什么
31、Pact的工作原理
32、Pact相关术语
33、Pact适用场景
34、Pact不适用的场景
35、Pact使用实例
36、Pact匹配原则
37、契约测试框架-Pact实践
第9个主题:微服务的安全机制与OAuth2.0实现(学习掌握微服务的安全机制与OAuth2.0实现)(30分钟)
1、微服务的安全介绍
2、微服务的安全机制
3、SSO单点登录
4、凭证与鉴权
5、OAuth2.0是什么
6、OAuth2.0协议
7、OAuth2.0认证授权过程
8、OAuth2.0实现
9、微服务实现OAuth2.0认证
第10个主题:微服务间的异步通信机制(学习掌握微服务间的异步通信机制)(30分钟)
1、轻量级的通信机制
2、实践:轻量级通信机制
3、进程独立
4、分布式架构概念
5、消息队列
6、RPC
7、分布式协调器
8、微服务架构分布式事务解决方案与实战
9、CAP理论
10、BASE思想
11、分布式事务一致性实现原理
12、事务特征
13、补偿型(TCC)
14、异步确保型(可靠消息最终一致)
15、最大努力通知型
16、案例:剖析微服务分布式架构
第11个主题:微服务的运维(学习掌握微服务运维)(30分钟)
1、微服务运维介绍
2、微服务集群监控
3、微服务服务治理
4、持续交付的7个最佳实践
5、链路追踪
6、持续改进
7、线性扩容
8、容量规划
9、案例:剖析如何运维微服务软件系统
10、案例:剖析超大型电子商务平台微服务架构
第二天
第12个主题:微服务的监控与告警(学习了解微服务的监控与告警)(30分钟)
1、监控——Ganglia、Nagios
第13个主题:微服务架构的日志聚合(学习掌握微服务架构的日志聚合)(30分钟)
1、日志聚合——Flume、DistributedLog、Graylog
第14个主题:构建微服务的持续交付流水线(构建微服务的持续交付流水线)(30分钟)
1、什么是持续交付
2、持续交付的发展
3、持续交付的周期模型
4、持续交付的配置管理
5、版本控制
6、依赖管理
7、软件配置管理
8、环境管理
9、持续交付的前提
10、构建与部署脚本构件
11、建部署脚本化的原则与实践
12、自动化验收测试
13、微服务持续交付
14、实践案例:动手实现持续交付
15、持续集成环境
16、基础设施
17、实践:基础设施自管理
18、蓝绿部署
19、灰度发布
第15个主题:微服务架构的实施(微服务的实施与构建)(30分钟)
1、微服务架构的实施
2、单体架构(CRM)
3、传统单体架构的弊端
4、面临的挑战
5、运维效率低
6、改造策略
7、改造后
8、改造后的系统
9、解决对策
10、服务化
11、服务化架构的演进历史
12、基于微服务架构改造单体架构的实践总结
第16个主题:性能调优(软件架构性能调优)(30分钟)
1、性能优化的方法论
2、代码优化及规范设计
3、JVM调优实战
4、Tomcat/Nginx/RocketMq调优
5、SQL调优
第17个主题:性能优化的方法论(软件架构性能优化的方法论)(60分钟)
1、性能优化的方法论
2、软件性能瓶颈跟踪与分析
3、系统性能两个核心概念:吞吐量、延迟
4、吞吐量与延迟之间的关系
5、计算密集型:主要消耗大量CPU资源、不停进行计算。由于依靠CPU性能,一直占用CPU进行计算。
6、IO密集型:磁盘读取、网络IO、web服务等任务,主要需要IO的读取,利用CPU的效率较低,大量时间花费在IO上。
7、缓存化(Redis、Memcache)
8、本地缓存、分布式缓存
9、时空交换思想
10、空间换时间
11、预计算
12、异步调用
13、超时控制
14、合并写
15、随机读写转化为顺序写
16、消息队列
17、从代码层面调优
18、从算法层面调优
19、从数据库层面调优
20、从硬件层面调优
21、从网络层面调优
22、从架构层面调优
23、从语言平台层面调优
24、从业务逻辑上进行调优
25、采用分布式架构
第18个主题:代码优化及规范设计(软件代码优化及规范设计)(30分钟)
1、从代码层面优化性能
2、将磁盘IO转化为网络IO
3、将网络IO转化为内存读写
4、代码实现批量处理
5、从算法层面优化性能
6、实现多线程、多进程并发处理
7、随机读写转化为顺序读写
8、采用列式数据库
9、采用内存数据库NoSQL
10、代码编写规范设计
11、代码编写规范制定
12、代码走查
13、代码规范的完善与更新
第19个主题:JVM调优实战(JVM调优实战)(60分钟)
1、JVM调优概述
2、JVM数据类型调优
3、堆(heap)与栈(stack)调优
4、Java对象的大小
5、基本的回收策略
6、垃圾回收流程
7、选择垃圾回收算法
8、垃圾回收调优
9、垃圾回收的瓶颈
10、引用计数
11、标记清除
12、复制
13、标记整理
14、增量收集
15、分代收集
16、串行收集
17、并行收集
18、并发收集
19、年轻代
20、年老代
21、持久代
22、堆大小设置
23、回收器选择
24、常见配置参数
25、线程监测
26、内存泄漏检查
27、垃圾回收的悖论
第20个主题:Tomcat/Nginx/RocketMq调优(中间件Tomcat/Nginx/RocketMq调优)(60分钟)
1、Tomcat调优概述
2、Tomcat的运行模式
3、Tomcat执行器优化
4、Tomcat配置参数优化
5、Tomcat内存优化
6、Tomcat线程池
7、Tomcat组件优化
8、Tomcat Executor参数优化
9、Tomcat Connector参数优化
10、Tomcat的JVM参数优化
11、Tomcat系统属性优化
12、Tomcat性能测试工具
13、Nginx调优概述
14、Nginx配置文件调优
15、Nginx进程数调优
16、Nginx使用epoll的I/O模型
17、Nginx内核参数调优
18、Nginx缓存调优
19、Nginx gzip压缩优化
20、Nginx expires缓存优化
21、Nginx网络IO事件模型优化
22、Nginx隐藏软件名称和版本号
23、Nginx防盗链优化
24、Nginx禁止恶意域名解析
25、Nginx禁止通过IP地址访问网站
26、Nginx HTTP请求方法优化
27、Nginx防DOS攻击单IP并发连接的控制,与连接速率控制
28、Nginx严格设置web站点目录的权限
29、Nginx将nginx进程以及站点运行于监牢模式
30、Nginx通过robot协议以及HTTP_USER_AGENT防爬虫优化
31、Nginx配置错误页面根据错误码指定网页反馈给用户
32、Nginx日志相关优化访问日志切割轮询,不记录指定元素日志、最小化日志目录权限
33、Nginx限制上传到资源目录的程序被访问,防止木马入侵系统破坏文件
34、Nginx FastCGI参数buffer和cache配置文件的优化
35、Nginx php.ini和php-fpm.conf配置文件的优化
36、有关web服务的Linux内核方面深度优化(网络连接、IO、内存等)
37、Nginx加密传输优化(SSL)
38、Nginx web服务器磁盘挂载及网络文件系统的优化
39、使用nginx cache
40、RocketMq调优概述
41、RocketMq网络参数
42、RocketMq硬资源限制
43、RocketMq硬盘的模式
44、RocketMq调度机制优化
45、RocketMq mqbroker和mqnamesrv的内存调整
第21个主题:SQL调优(SQL调优)(60分钟)
1、表结构设计优化
2、库设计优化
3、预处理SQL
4、批量提交
5、异构索引
6、产品规则
7、简化SQL
8、加索引
9、删除索引
10、异步写
11、读写分离
第22个主题:软件架构及性能调优相关技术培训总结(对两天的课程内容进行总结)(30分钟)
1、微服务架构总结
2、分布式架构总结
3、软件调优总结
尹老师
多年从事人工智能、深度学习、大数据、区块链、云计算、物联网研发工作经验,资深软件架构师,数学博士,北航移动云计算硕士,Cloudera大数据认证(图1),项目管理师(PMP)认证(图2),移动云计算专家,主要研究方向包括人工智能、深度学习、机器学习、数据挖掘、数据分析、大数据、云计算、移动开发、互联网营销、电子商务、项目管理等;曾就职于阿里等互联网企业,IBM、华为等知名大型企业,现任某大型知名互联网企业首席架构,负责人工智能、深度学习、机器学习、数据挖掘、数据分析、大数据、区块链、云计算、PaaS平台研发工作。
IT从业近二十年,秉承理论与实践相结合,在学习中实践,在实践中学习,积累了丰富的理论与实践经验,并且乐于将自己的经验分享。尹老师具有敏锐的目光与头脑,发现并集成整合社会资源,为企业节省资源并创造价值,达到为合作伙伴创收的目的。曾为多家国内知名企业提供培训与咨询,包含阿里集团、华为、中国移动、中国电信、中国联通、当当网、中石油、中石化、中国电网、中国银行、中国工商银行、浦发银行、阿尔卡特朗讯、中航国际等。拥有人工智能、深度学习、机器学习、数据挖掘、数据分析、大数据、区块链、物联网、大流量、高并发、分布式的大型网站架构和设计经验。曾主导过多个人工智能、深度学习、机器学习、数据挖掘、数据分析、区块链、物联网、私有云、公有云建设项目,早些年也主导过ERP、CMS等软件项目,积累了丰富的实践经验,这些项目中包含多个数百万、上千万的大型项目。项目经历:呼叫中心人工智能客服研发项目、贵州省政府云呼叫中心建设项目、广东发展银行电营、运维大数据分析项目、中石油工程设计西南分公司云计算项目评审委员、中石油大数据挖掘项目,电商库存预测大数据分析项目、大型ERP、电子商务、CRM、电子政务等多个项目。
尹老师在工作中研究新技术、新框架、及时更新知识体系,并长期坚持编写架构核心代码。在技术平台方面,善于TensorFlow、Keras、Hadoop、Spark、Docker、Kubernetes、OpenStack、Storm等技术平台的应用与运维。深入理解TensorFlow、Keras、Hadoop、HDFS、HBase、MapReduce、Zookeeper、Hive、Sqoop、BigTable 等人工智能、大数据技术和开源框架理论。对于云计算体系有深刻认识,及独到的见解,如OpenStack的技术架构、安装部署、运维等。在移动云计算方面,善于设计与建设云计算体系;也善于移动云计算相关的咨询与培训。在项目管理方面,善于使用敏捷项目管理方法,把客户的需求变更作为常态,作为软件架构设计的一部分,减少需求变更带来的返工;善于捕捉、挖掘、分析客户需求,为用户提供满意的产品。
讲师经验
1、阿里巴巴集团云计算、大数据、区块链、物联网咨询师
2、百度云计算、大数据、区块链、物联网咨询师及讲师
3、中国移动多省人工智能、大数据、区块链、物联网、云计算特聘讲师
4、中国移动多省Docker特聘讲师
5、中国移动研究院微特聘讲师
6、中国联通总部人工智能、大数据、区块链、物联网、云计算特聘讲师
7、中国电信人工智能、大数据、区块链、物联网、云计算、虚拟化特约讲师
8、中国人民银行人工智能、大数据、区块链、物联网特聘讲师
9、中国工商银行人工智能、大数据、区块链、物联网讲师
10、花旗银行人工智能、大数据、区块链、物联网讲师
11、招商银行人工智能、大数据调优、区块链、物联网讲师
12、中信银行人工智能、分布式数据库、区块链、物联网讲师
13、中国航天三院人工智能、大数据、区块链、物联网咨询师
14、中国石油人工智能、大数据、区块链、物联网、云计算特聘讲师
15、中国石化人工智能、大数据、云计算特聘讲师
16、中国电力科学研究院流计算特聘讲师
17、西安电信十所人工智能、大数据架构设计、区块链、物联网讲师
18、RedHat(中国)大数据咨询师
19、中电28所人工智能、大数据、区块链、物联网特聘讲师
20、北京中电普华人工智能、大数据、区块链、物联网特聘讲师
21、中国石油东方地球物理公司大数据咨询师
22、当当网人工智能、云计算、大数据咨询师
23、北航人工智能、云计算、大数据、区块链、物联网特聘企业讲师
24、阿尔卡特-朗讯(Alcatel-Lucent)虚拟化与OpenStack培训特约讲师
25、中石油工程设计西南分公司云计算数据中心建设项目
26、广东发展信用卡精准营销项目
27、广东发展银行电营、运维大数据分析项目
28、电商库存预测大数据分析项目
29、中航国际大综贸易云计算规划项目咨询、培训讲师
30、北京民生软件SaaS平台研发咨询师
31、北京立达资本项目管理信息系统解决方案咨询师
32、曾任大型ERP、电子商务、CRM、电子政务等项目经理
项目经验
1、云呼叫中心人工智能客服项目研发
2、云呼叫中心PaaS平台首席架构师
3、贵州省政府云呼叫中心建设项目
4、广东发展信用卡智能精准营销项目
5、广东发展银行电营、运维大数据分析、区块链、物联网项目
6、中石油工程设计西南分公司云计算项目评审委员、培训讲师
7、中石油人工智能、大数据挖掘、区块链、物联网项目,项目经理
8、电商库存预测大数据分析项目
9、智能物流、智能供应链管理项目
10、中航国际大综贸易云计算规划项目咨询、培训讲师
11、北京民生软件SaaS平台研发咨询师
12、北京立达资本项目管理信息系统解决方案咨询师
13、曾任大型ERP、电子商务、CRM、电子政务等多个项目的项目经理
我要预订
咨询电话:027-5111 9925 , 027-5111 9926手机:18971071887邮箱:Service@mingketang.com
企业管理培训分类导航
企业培训公开课日历
2025年
2024年