课程大纲

介绍

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

整体系统架构概述

  • 在单个进程中运行整个整体式应用程式功能
  • Scala通过跨多个伺服器进行复制实现可用性
  • 单体系统中使用的协定:EAI、CORBA 等。

Web 服务概述

  • 面向服务的架构 (SOA) 和 Microservices 架构

Service-Oriented Architecture (SOA)

  • SOA 的优点和成本
  • 实施 SOA 的成功和失败
  • 消息传递和ESB
  • 支援SOA的基础设施和工具

Microservices 如何实现 Web 服务概念

  • 做一件事,把事情做好
  • DevOps
  • 持续部署和交付(持续集成、持续构建过程等)
  • 轻量级协定

微服务协议和标准

  • HTTP、JMS、AMQP、Websockets、JSON 等。

用于建构的开发框架Microservices

  • Java 基于框架 (Spring Cloud)
  • Java基于脚本的框架 (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 总线进行动态配置更新

使用 Eureka 进行服务发现

使用 Ribbon 进行负载均衡

使用 Hystrix 应用断路器

使用 Feign 的声明式 REST 用户端

使用 API Gateway

保护微服务应用程式

跟踪微服务以发现延迟

部署 Microservices

  • 容器(Docker、K8N、LXC 等)
  • Configuration Management (Ansible 等)
  • 服务发现
  • 监控和管理 Microservices
  • 基础设施 Microservices

云和自动 Scala的 Microservices 可用性

  • 微服务冗馀和故障转移
  • 效能可扩充性Microservices
  • 自动可扩充性
  • 在 OpenStack、AWS 和其他云平台上实施 Microservices

分散式应用程式的常见问题疑难解答

  • 生态系统的复杂性
  • 网路性能
  • 安全
  • 部署
  • 测试
  • Nano 服务

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

  • 让系统对初学者来说变得简单
  • 使系统完整,以便它可以作为企业应用程式的基础

总结和结论

要求

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

观众

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

客户评论 (5)

即将举行的公开课程

课程分类