联系我们

课程大纲

介绍

  • 系统和服务架构、PaaS和云原生设计

单体系统架构概述

  • 在单一进程中运行整个单体应用程序的功能
  • 通过跨多个服务器的复制实现可扩展性
  • 单体系统中使用的协议:EAI、CORBA等

Web服务概述

  • 面向服务架构(SOA)和微服务架构

面向服务架构(SOA)

  • SOA的收益和成本
  • 实施SOA的成功与失败案例
  • 消息传递和ESB
  • 支持SOA的基础设施和工具

微服务如何实现Web服务概念

  • 专注于单一职责
  • DevOps
  • 持续部署和交付(持续集成、持续构建过程等)
  • 轻量级协议

微服务协议和标准

  • HTTP、JMS、AMQP、Websockets、JSON等

构建微服务的开发框架

  • 基于Java的框架(Spring Cloud)
  • 基于Javascript的框架(Seneca)

分解单体应用

  • 开发可独立部署的应用程序
  • 围绕业务能力组织微服务应用程序
  • 案例研究:将单体应用迁移到三个核心微服务

设置Spring Cloud开发环境

  • 设置Docker和Docker Compose
  • 设置环境变量

Spring Cloud和Spring Boot概述

  • Spring Cloud子项目:Config Server & Bus、Eureka、Ribbon、Feign和Hystrix
  • Spring Boot

创建Spring Boot应用程序

使用Spring Cloud Config进行集中化、版本化的配置管理

使用Spring Cloud Bus进行动态配置更新

使用Eureka进行服务发现

使用Ribbon进行负载均衡

使用Hystrix应用断路器

使用Feign声明REST客户端

使用API网关

保护微服务应用程序

追踪微服务以发现延迟

部署微服务

  • 容器(Docker、K8N、LXC等)
  • 配置管理(Ansible等)
  • 服务发现
  • 监控和管理微服务
  • 微服务的基础设施

微服务的云和自动扩展

  • 微服务的冗余和故障转移
  • 微服务的性能扩展
  • 自动扩展
  • 在OpenStack、AWS和其他云平台上实施微服务

分布式应用程序的常见问题排查

  • 生态系统的复杂性
  • 网络性能
  • 安全性
  • 部署
  • 测试
  • 纳米服务

构建生产就绪系统的最终考虑

  • 使系统易于初学者使用
  • 使系统完整,以作为企业应用程序的基础

总结与结论

要求

  • 了解软件和系统工程
  • 具备Java开发经验
  • 具备Spring Framework经验

受众

  • 希望快速构建和部署微服务的Java开发人员
  • 希望实施微服务架构的系统架构师
 21 小时

客户评论 (3)

即将举行的公开课程

课程分类