课程简介
从架构的构架上,依照微服务化的思路,首先明确服务的概念,并进行服务的分层。每层均由提供不同功能的服务组成,从原来模块化的理解转变为服务化的理念。服务化应该是一种架构设计的理念。相对于之前非常流程的模块化设计思路,服务化是模块化的演进。从原来大颗粒的模块,转变为专注于特定业务、功能的服务(单元)。任何一个模块都是一个相对完整独立的系统,从前端view、到业务处理、数据模型处理、数据存储。相互独立,互不干扰,是独立的烟囱。而服务化架构思想,改变了烟囱的结构。以横切的思路,将原来的烟囱进行了切面。对于切面上的功能,统一由服务提供功能实现。
本次课程以微服务架构基础、概念、挑战各种方面,还有微服务容器,比如Docker 镜像仓库、Docker 容器常用操作等等方便,帮助大家去了解微服务注册、网关以及部署、日志,最后还会深刻探讨微服务测试。
课程收益
1.全面学习了解微服务基础概念,包括演进过程、应用场景、现阶段所面临的问题与挑战等;
2.掌握微服应用的使用方法及实践。
受众人群
架构总监,架构经理,企业架构师,解决方案架构师 需要深入了解企业架构的技术人员。熟练使用Java,至少一年业务开发实际工作经验。
课程时长
1天(6H)
课程大纲
课程主题 | 课程内容 |
01.微服务基础 | 架构演进过程 |
架构与架构师 | |
单块架构的问题 | |
微服务的概念 | |
微服务的挑战 | |
微服务与SOA的区别 | |
微服务应用场景 | |
微服务基础设施 | |
微服务技术团队 | |
微服务API的特点 | |
微服务边界切分方法 | |
微服务架构全景图 | |
微服务技术选型 | |
微服务冰山模型 | |
02.微服务容器 | 技术选型:Docker |
Docker 核心概念 | |
Docker 镜像仓库 | |
Docker 快速入门 | |
Docker 常用工具 | |
Docker 镜像常用操作 | |
Docker 容器常用操作 | |
Docker 网络 | |
Docker 容器互联 | |
Docker 集群方案 | |
Docker 踩坑经验 | |
03.微服务框架 | 技术选型:Spring Boot(Java) |
Spring Boot 特性 | |
Spring Boot 应用场景 | |
Spring Boot 快速入门 | |
Spring Boot 运行方式 | |
Spring Boot 常用开箱特性 | |
Spring Boot 踩坑经验 | |
04.微服务注册 | 设计服务注册架构 |
技术选型:ZooKeeper | |
ZNode 树状模型 | |
ZooKeeper 集群方案 | |
ZooKeeper 快速入门 | |
ZooKeeper 服务端 | |
ZooKeeper 客户端 | |
实现服务注册功能 | |
服务注册利器:Registrator | |
ZooKeeper 踩坑经验 | |
05.微服务网关 | 设计服务网关架构 |
技术选型:Node.js | |
Node.js 优势 | |
Node.js 应用场景 | |
Node.js 快速入门 | |
Node.js 必备模块 | |
Node.js 集群环境 | |
搭建 Node.js 服务网关 | |
Node.js 踩坑经验 | |
06.微服务部署 | 设计服务部署架构 |
技术选型:Jenkis+Gitlab+Ansible | |
代码分支管理规范 | |
系统运行环境 | |
Jenkis 部署中心 | |
Ansible 配置中心 | |
平滑升级方案 | |
Jenkis 与 Ansible踩坑经验 | |
07.微服务日志 | 设计日志中心架构 |
技术选型:Elasticsearch+Logstash+Kibana (ELK) | |
Spring Boot 日志方案 | |
Docker 日志驱动 | |
Syslog 集成 ELK | |
Elasticsearch 使用方法 | |
Logstash 使用方法 | |
Kibana 使用方法 | |
08.微服务监控 | 设计监控中心架构 |
技术选型:InfluxDB+cAdvisor+Grafana | |
Spring Boot 监控方案 | |
InfluxDB 使用方法 | |
cAdvisor 使用方法 | |
Grafana 使用方法 | |
新的解决方案:Prometheus | |
调用链追踪系统:Zipkin | |
09.微服务通信 | 服务通信方式 |
HTTP同步通信 | |
TCP同步通信 | |
开发RPC框架 | |
MQ异步通信 | |
CQRS 与 Event-Sourcing | |
分布式事务解决方案 | |
10.微服务测试 | 开发与测试流程 |
文档驱动开发 | |
单元测试 | |
集成测试 | |
验收测试 | |
自动化测试 |
Nick Huang
百林哲咨询(北京)有限公司专家团队成员
Nick Huang
百林哲咨询(北京)有限公司专家团队成员
Nick Huang
百林哲咨询(北京)有限公司专家团队成员
Nick Huang
百林哲咨询(北京)有限公司专家团队成员
Nick Huang
百林哲咨询(北京)有限公司专家团队成员
Nick Huang
百林哲咨询(北京)有限公司专家团队成员