Microservice Architecture Skills


(StuQ Microservices Skills Graph)

2Course Introduction

This course is divided into two parts: basic and advanced. It aims to present the development, testing, construction, deployment, operation and maintenance of microservices through complete cases, and help students understand the core of microservices and the challenges in the implementation process. and coping plans.

The basics will use Spring Boot, Spring Cloud and Docker to build an event registration system based on a microservice architecture. At the same time, Netflix OSS is used to build the support components of the service, including the centralized configuration center, service registration and discovery, API gateway, fault-tolerant processing and other supporting service components.

The advanced chapter will focus on the testing of microservices, advanced topics such as service security, asynchronous task systems, log aggregation, monitoring and alarming, and continuous delivery pipelines, and provide guidance for the large-scale implementation of microservices.

3For people

  • 1+ years of Java programming experience

  • Familiar with Spring Framework

  • Understanding Gradle Build Tools

  • Learn about continuous integration practices

  • Interested in microservice architecture practices

4teaching objectives

Through this course, you will not only understand the essence of microservice architecture, but also learn how to use Spring Boot and Spring Cloud to build microservice systems (including REST/HAL, service registration, service discovery, fault tolerance, API gateway, centralized configuration) and service security processing, etc.); at the same time, you will also learn how to establish a complete microservice ecosystem, including continuous delivery pipeline, deployment, operation and maintenance, monitoring, and alarming mechanisms.

Basics goals

  • Learn to master the concept and essence of microservice architecture

  • Use Spring boot/Spring Cloud to build an event registration system

  • Use Netflix OSS to build microservice support components (service registration discovery, centralized configuration center, API gateway, fault-tolerant processing)

  • Publish a service with Docker

  • Running multiple services in a development environment with Docker-Compose

Advanced Chapter Objectives

  • Learn to master microservice testing strategies and PACT testing

  • Learn to master the security mechanism of microservices and OAuth2.0 implementation

  • Learn to master the asynchronous communication mechanism between microservices

  • Learn about monitoring and alerting for microservices

  • Learn to master log aggregation for microservice architecture

  • Building a Continuous Delivery Pipeline for Microservices

5Course content

Basics Syllabus

Microservice Architecture from 0 to 1

  • Introduction to Microservice Architecture

  • The essence and advantages of microservice architecture

  • Microservices and SOA

  • Microservice Design Principles

Building an event registration system based on microservices

  • Requirements understanding and analysis

  • 技术选型(Java/Spring Boot/Spring loud/REST/HAL/MongoDB)

  • 服务定义与划分

  • 服务支撑组件介绍(服务注册,集中化配置,断路器,服务网关)

  • 思考/练习

Spring Boot 应用实践

  • Spring Boot 介绍

  • Spring Boot的核心功能

  • Spring Boot Demo

  • 练习

Spring Cloud 应用实践

  • Spring Cloud 介绍

  • Spring Cloud的核心功能

  • Spring Cloud Demo

  • 练习

REST/HAL 应用实践

  • REST 介绍

  • HAL 介绍

  • 为什么使用HAL

  • HAL Browser 实践

Docker 应用实践

  • Docker介绍

  • Docker的常用命令

  • 构建Dockerfile

  • 使用Docker-compose

构建第一个微服务

  • 使用Spring-Data-REST实现Event-Service服务

  • 使用HAL完成服务间同步通信

  • 使用HAL-Browser浏览服务接口

  • 使用MongoDB存储数据

  • 使用Docker-compose运行服务

  • 构建Dockerfile

  • 练习

微服务的集中化配置(centralized-config)

  • 为什么要集中化配置

  • 集中化配置的实现原理与方式

  • 使用Spring Cloud Config 实现集中化配置

  • 使用Spring Cloud Bus与RabbitMQ同步多服务配置

  • Spring Cloud Config Demo

  • 练习

微服务的注册与发现(service-discovery)

  • 为什么要服务注册与发现

  • 服务注册与服务发现的实现方式

  • 使用Netflix Eureka/Spring Cloud实现服务注册与发现

  • 使用Netflix Ribbon/Spring Cloud实现客户端负载均衡

  • 使用Netflix Feign/Spring Cloud实现申明式REST调用

  • 练习

微服务的容错处理(circurt-breaker)

  • 微服务下的可用性与故障蔓延(Failure Cascading)

  • 断路器模式的原理与实现

  • 使用Netflix Hystrix/Spring Cloud实现容错

  • 使用Netflix Turbie实现监控聚合

  • 练习

构建微服务网关

  • 为什么需要微服务网关

  • 微服务网关的实现方案

  • 使用Netflix Zuul实现微服务网关

  • 练习

微服务架构与实践总结

  • 微服务的发布与部署

  • 基于微服务的活动报名系统

  • 练习

高级篇课程大纲

微服务的测试

  • 测试金字塔

  • 测试策略与实现

  • 集成测试与契约测试

  • 基于消费者驱动的契约测试PACT

  • 使用JVM-PACT构建契约测试

  • 练习

微服务的安全

  • 微服务下安全的实现方式

  • 使用HTTPS加密传输内容

  • OAuth2.0综述

  • 使用Spring Cloud Security实现活动报名

  • 练习

微服务间的通信

  • 服务间的同步通信

  • 服务间的异步通信

  • 使用Jesque完成报名后的通知

  • 在活动报名系统中整合Jesque

  • 练习

微服务的监控与告警

  • 服务的监控与告警综述

  • 微服务监控与告警常用方案

  • 使用Prometheus实现服务监控

  • 在活动报名系统中整合Prometheus

  • 服务告警

  • 练习

微服务的日志聚合

  • 为什么要日志聚合

  • 日志聚合的常用技术方案

  • 使用ETL实现服务的日志聚合与管理

  • 使用Docker-compose运行ELK

  • 在活动报名系统中整合ELK

  • 练习

构建微服务的持续交付流水线

  • 持续集成

  • 持续交付

  • Jenkins2.0介绍

  • 构建持续交付流水线

  • 练习

微服务的依赖管理

  • 可视化服务依赖图

  • 练习

微服务架构与实践总结

  • 基于微服务的活动报名系统

  • 微服务架构总结

     

    http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650994360&idx=3&sn=d11399313a76e3367453e6e24982972d&chksm=bdbf0eeb8ac887fd031b55a2a407345a9a79fe1cc9366751fcf91ffb77ecc77b7e23300bfd8c&mpshare=1&scene=1&srcid=1011ve1uUq6YNm4WGL19oRPR#rd

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326646181&siteId=291194637