微服务架构技能

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

微服务架构技能 博客分类: 架构


(StuQ 微服务技能图谱)

2课程简介

本课程分为基础篇和高级篇两部分,旨在通过完整的案例,呈现微服务的开发、测试、构建、部署、运维等实践,帮助学员了解微服务的核心、以及实施过程中的挑战与应对方案。

基础篇将使用Spring Boot、Spring Cloud以及Docker,构建基于微服务架构的活动报名系统。同时,使用Netflix OSS构建服务的支持组件,包括集中化配置中心、服务注册与发现、API网关、容错处理等支撑性服务组件。

高级篇将关注微服务的测试,服务安全、异步任务系统、日志聚合、监控告警以及持续交付流水线等高级话题,为微服务规模化实施提供指导意见。

3适用人群

  • 有1年以上的Java编程经验

  • 熟悉Spring框架

  • 了解Gradle构建工具

  • 了解持续集成实践

  • 对微服务架构实践感兴趣

4教学目标

通过本课程,您不仅能了解微服务架构的本质,也将学习到如何使用Spring Boot、Spring Cloud 构建微服务系统(包括REST/HAL、服务注册、服务发现、容错处理、API网关、中心化配置以及服务的安全处理等);同时,也将学习如何建立完整的微服务生态体系,包括持续交付流水线、部署、运维、监控以及告警等机制。

基础篇目标

  • 学习掌握微服务架构的概念与本质

  • 使用Spring boot/Spring Cloud 构建活动报名系统

  • 使用Netflix OSS构建微服务支撑组件(服务注册发现、集中化配置中心、API网关、容错处理)

  • 使用Docker发布服务

  • 使用Docker-Compose在开发环境中运行多个服务

高级篇目标

  • 学习掌握微服务的测试策略与PACT测试

  • 学习掌握微服务的安全机制与OAuth2.0实现

  • 学习掌握微服务间的异步通信机制

  • 学习了解微服务的监控与告警

  • 学习掌握微服务架构的日志聚合

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

5课程内容

基础篇课程大纲

微服务架构从 0 到 1

  • 微服务架构介绍

  • 微服务架构的本质与优势

  • 微服务与SOA

  • 微服务的设计原则

基于微服务构建活动报名系统

  • 需求理解与分析

  • 技术选型(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

转载于:https://my.oschina.net/xiaominmin/blog/1598949

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tableau Desktop认证:为什么要关心以及如何通过

Woah, Tableau!哇,Tableau! By now, almost everyone’s heard of the data visualization software that brought visual analytics to the public. Its intuitive drag and drop interface makes connecting to data, creating graphs, and sharing d…

约束布局constraint-layout导入失败的解决方案 - 转

今天有同事用到了约束布局,但是导入我的工程出现错误 **提示错误: Could not find com.Android.support.constraint:constraint-layout:1.0.0-alpha3** 我网上查了一下资料,都说是因为我的androidStudio版本是最新的稳定版导入这个包就会报这…

算法复习:冒泡排序

思想:对于一个列表,每个数都是一个"气泡 ",数字越大表示"越重 ",最重的气泡移动到列表最后一位,冒泡排序后的结果就是“气泡”按照它们的重量依次移动到列表中它们相应的位置。 算法:搜索整个列表…

前端基础进阶(七):函数与函数式编程

纵观JavaScript中所有必须需要掌握的重点知识中,函数是我们在初学的时候最容易忽视的一个知识点。在学习的过程中,可能会有很多人、很多文章告诉你面向对象很重要,原型很重要,可是却很少有人告诉你,面向对象中所有的重…

显示与删除使用工具

右击工具菜单栏中的空白处选择自定义 在弹出的自定义菜单中选择命令选项在选择想要往里面添加工具的菜单,之后在选择要添加的工具 若想要删除工具栏中的某个工具,在打开自定义菜单后,按住鼠标左键拖动要删除工具到空白处 例如 转载于:https:/…

js值的拷贝和值的引用_到达P值的底部:直观的解释

js值的拷贝和值的引用介绍 (Introduction) Welcome to this lesson on calculating p-values.欢迎参加有关计算p值的课程。 Before we jump into how to calculate a p-value, it’s important to think about what the p-value is really for.在我们开始计算p值之前&#xff…

监督学习-KNN最邻近分类算法

分类(Classification)指的是从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术建立分类模型,从而对没有分类的数据进行分类的分析方法。 分类问题的应用场景:用于将事物打上一个标签,通常…

无监督学习-主成分分析和聚类分析

聚类分析(cluster analysis)是将一组研究对象分为相对同质的群组(clusters)的统计分析技术,即将观测对象的群体按照相似性和相异性进行不同群组的划分,划分后每个群组内部各对象相似度很高,而不…

struts实现分页_在TensorFlow中实现点Struts

struts实现分页If you want to get started on 3D Object Detection and more specifically on Point Pillars, I have a series of posts written on it just for that purpose. Here’s the link. Also, going through the Point Pillars paper directly will be really help…

MySQL-InnoDB索引实现

联合索引提高查询效率的原理 MySQL会为InnoDB的每个表建立聚簇索引,如果表有索引会建立二级索引。聚簇索引以主键建立索引,如果没有主键以表中的唯一键建立,唯一键也没会以隐式的创建一个自增的列来建立。聚簇索引和二级索引都是一个b树&…

钉钉设置jira机器人_这是当您机器学习JIRA票证时发生的事情

钉钉设置jira机器人For software developers, one of the most-debated and maybe even most-hated questions is “…and how long will it take?”. I’ve experienced those discussions myself, which oftentimes lacked precise information on the requirements. What I…

vscode 标准库位置_如何在VSCode中使用标准

vscode 标准库位置I use Visual Studio Code as my text editor. When I write JavaScript, I follow JavaScript Standard Style.Theres an easy way to integrate Standard in VS Code—with the vscode-standardjs plugin. I made a video for this some time ago if youre …

IBM量子计算新突破:成功构建50个量子比特原型机

本文来自AI新媒体量子位(QbitAI)IBM去年开始以云计算服务的形式提供量子计算能力。当时,IBM发布了包含5个量子比特的计算机。在短短18个月之后,IBM周五宣布,将发布包含20个量子比特的计算机。 IBM还宣布,该…

小程序点击地图气泡获取气泡_气泡上的气泡

小程序点击地图气泡获取气泡Combining two colors that are two steps apart on the Color Wheel creates a Diad Color Harmony. This Color Harmony is one of the lesser used ones. I decided to cover it here to add variety to your options for colorizing visualizati…

PopTheBubble —测量媒体偏差的产品创意

产品管理 (Product Management) A couple of months ago, I decided to try something new. The MVP Lab by Mozilla is an 8-week incubator for pre-startup teams to explore product concepts and, over the 8 weeks of the program, ship a minimum viable product that p…

linux-Centos7安装nginx

首先配置linux环境,我这里是刚刚装好linux,所以一次性安装了一系列我需要到的环境; yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel e…

elasticsearch,elasticsearch-service安装

在Windows上安装Elasticsearch.zip 1 安装条件 安装需具备java 8或更高版本;官方的Oracle发行版,只需安装JDKElasticsearch的ZIP安装包——安装包地址 2 如何安装 Elasticsearch 傻瓜式的点下一步即可, java 注意环境变量配置 3 如何判断安装…

图表可视化seaborn风格和调色盘

seaborn是基于matplotlib的python数据可视化库,提供更高层次的API封装,包括一些高级图表可视化等工具。 使用seaborn需要先安装改模块pip3 install seaborn 。 一、风格style 包括set() / set_style() / axes_style() / despine() / set_context() 创建正…

面向Tableau开发人员的Python简要介绍(第3部分)

用PYTHON探索数据 (EXPLORING DATA WITH PYTHON) One of Tableau’s biggest advantages is how it lets you swim around in your data. You don’t always need a fine-tuned dashboard to find meaningful insights, so even someone with quite a basic understanding of T…

7、芯片发展

第一台继电器式计算机由康德拉.楚泽制造(1910-1995),这台机器使用了二进制数,但早期版本中使用的是机械存储器而非继电器,使用老式35毫米电影胶片进行穿孔编程。 同一时期,哈佛大学研究生霍华德.艾肯 要寻找…