基于事件驱动的微服务教程

news2024/12/29 2:47:45

基于事件驱动的微服务教程

使用 Spring Boot、Spring Cloud、Kafka 和 Elasticsearch 掌握具有模式的事件驱动微服务架构

课程英文名:Event-Driven Microservices Spring Boot, Kafka and Elastic

此视频教程共22.0小时,中英双语字幕,画质清晰无水印,源码附件全

下载地址

课程编号:326

百度网盘地址:https://pan.baidu.com/s/1qGJzKMXtgKdVK77dcYR9Qw?pwd=r6r9

不限速!!! 阿里云盘地址:https://www.aliyundrive.com/s/W3ThoLqRYmd

课程内容

你将会学到的

  • 使用 Spring Boot 和 Spring Cloud Stack 掌握微服务架构

  • 使用 Apache Kafka 开发事件驱动的微服务

  • 使用 Docker 和 Docker compose 了解微服务的容器化

  • 学习 Kafka 代理、主题、分区、生产者、消费者、管理客户端、avro 消息传递、zookeper 和模式注册表的基础知识

  • 学习 Elasticsearch 基础知识、索引 api 和查询 api

  • 使用 Spring Kafka 实现基于 Kafka 的消息传递应用程序

  • 使用 Spring Data Elasticsearch 了解 Elasticsearch 索引和查询

  • 使用 Kafka 和 Elasticsearch 实现 CQRS 模式

  • 使用 Spring Cloud Config 实现 Externalize 配置模式

  • 开发 Rest API

  • 为 Rest API 的版本控制实施 API 版本控制

  • 使用 PostgreSQL 实现 Spring Data JPA

  • 使用 Netflix Eureka 和 Spring Cloud 了解服务注册和发现

  • 使用 Spring Cloud Load Balancer 实现客户端负载均衡

  • 用 Spring Cloud Gateway 理解 Api Gateway 模式

  • 使用 Spring Cloud Gateway 和 Resilience4j 实现断路器模式

  • 使用 Spring Cloud Gateway 和 Redis 实现速率限制

  • 了解 Spring Security Oauth 2.0 的身份验证和授权以及使用 JWT 和 Keycloak 的 OpenID 连接协议

  • 使用 Spring Boot Actuator、Micrometer、Prometheus 和 Grafana 实现对微服务的监控

  • 使用 ELK 堆栈了解日志聚合模式和可视化 -- Elasticsearch、Logstash 和 Kibana

  • 了解在带有 Spring Hateoas 的 Rest API 中使用 Hateoas

  • 使用 Swagger v3 为 Restful API 文档实现 Open Api v3

  • 将 Thymeleaf 和 Bootstrap 用于基本前端

  • 通过使用 Reactive Spring、WebFlux、WebClient 和 Reactive Thymeleaf 以响应方式查询 Elasticsearch,了解响应式开发和异步流程

  • 使用 Slf4J MDC、Spring Cloud Sleuth 和 Zipkin 学习分布式跟踪

  • 了解每个服务模式的数据库

  • 了解使用带有状态存储的 Kafka 流

  • 使用 Twitter4J 从 Twitter 学习流式推文

要求

  • Java知识

  • Spring框架基础知识

  • 后端开发经验

说明

你好呀!我叫阿里-格伦勒。我在这里通过应用最佳实践来应对现实生活中的挑战,帮助您学习事件驱动的微服务架构。

在本课程中,您将专注于微服务的开发。借助微服务,您可以独立开发和部署应用程序组件。您还可以根据每个服务自身的资源需求轻松扩展服务,例如,您可以更好地扩展并创建需要更多请求的服务的更多实例。

在本课程中,您始终可以使用最新版本的 spring boot、spring cloud 和其他依赖项。请按照上一节的讲座来查看更新版本所需的代码和配置更改。此外,如果您想在课程中使用字幕,您可以打开视频的字幕,因为所有讲座都使用手写字幕进行了更新。我建议使用字幕,以便于听课。

当从单体应用程序迁移到微服务架构时,由于拥有分布式应用程序和系统,会出现一些挑战。在本课程中,您将学习如何使用事件驱动架构 (EDA) 架构和 Apache Kafka 来应对这些挑战。

具有事件驱动的架构;

  • 您将真正解耦服务并创建弹性服务,因为服务与其他服务没有直接通信

  • 您将在服务之间使用异步/非阻塞通信

  • 您将使用事件/状态存储 (Kafka),并从服务中删除状态以获得更好的可扩展性

  • Tanima:* "这是我在 udemy 上过的最好的课程之一,讲师反应灵敏,在课程中总是处理复杂的问题,非常感谢教授,我将永远感谢您的这门课程,并会密切关注在你的下一个课程发布上。"*

您将使用最新的软件平台、技术、库和工具,遵循最佳实践,应用微服务模式并使用 Java、Spring boot、Spring Cloud、Spring Security、Kafka 和 Elasticsearch,从头开始开发微服务架构。我们还将介绍使用 Kafka 作为事件存储的事件溯源和事件驱动服务。

您将要实现的微服务模式是:

  • 使用 Spring Cloud Config 进行外部化配置

  • 带有 Kafka 和 Elastic 搜索的 CQRS

  • 用于对 Rest API 进行版本控制的 API 版本控制

  • 使用 Spring Cloud 和 Netflix Eureka 进行服务注册和发现

  • 带有 Spring Cloud 网关的 API 网关

  • 带有 Spring Cloud Gateway 和 Resilience4j 的断路器

  • 使用 Spring Cloud Gateway 和 Redis 进行速率限制以使用 Redis 作为速率限制器

  • 使用 SLF4J MDC、Spring Cloud Sleuth 和 Zipkin 进行分布式跟踪

  • 使用 ELK 堆栈进行日志聚合(Elasticsearch、Logstash 和 Kibana)

  • 使用 Spring Cloud Load Balancer 进行客户端负载均衡

  • 每个服务的数据库

  • 使用Kafka的微服务之间的消息传递

您还将使用 Keycloak 和 JWT 实现 Spring Security Oauth 2.0 和 OpenID 连接协议以进行身份​​验证和授权。使用 Oauth 进行服务授权,使用 OpenID 连接进行身份验证,广泛用于具有 Spring Boot 安全性的微服务架构中。

  • Oliver Michels:* "涵盖很多领域的令人惊叹的课程,即 Spring Boot、Kafka、Elastic、OAuth/Keycloak 等,并展示了所有这些部分如何在一个不错的微服务架构中组合在一起。"*

您将关注的另一个重要主题是微服务的监控。您将使用 Spring boot actuator 和 Prometheus with Micrometer,它们可用于获取运行状况、运行线程数、请求数、响应时间和内存使用量等指标。您还将学习使用 Grafana 创建一个漂亮的仪表板,以可视化您使用 Spring boot actuator 和 Prometheus 获得的指标。

在介绍事件驱动的微服务时,您将通过涵盖 Kafka 主题、Kafka 分区、Kafka 消费者和生产者 API、Kafka 管理客户端和 Avro 消息传递来了解 Apache Kafka 的基础知识。

  • Emre Demir:* "这不仅仅是一个软件教程。它是一门高级计算机工程课程。示例和描述都非常好。全栈和后端开发人员必须学习。"*

为了在微服务之间进行通信,除了使用 Kafka 消息传递之外,我还将介绍 Kafka Streams 并展示如何使用 Kafka Streams 来使用累积的流数据创建临时状态存储。然后,这个临时数据源将被另一个微服务使用。

为了与微服务中的数据存储进行通信,我将使用不同的 Spring Data 依赖项,例如 Spring Data JPA 与 PostgreSQL、Spring Data Elasticsearch 和 Spring Kafka。

对于 Api 文档,我将使用实现 Swagger 3.0 的 Open Api 3 规范。Open Api 将为 API 创建一个 RESTful 接口,帮助您轻松开发和使用 Rest API。

您还将学习如何在带有 Spring Hateoas 的 Rest Api 中使用 Hateoas(超媒体作为应用程序状态的引擎)。Hateoas 将提供指向服务器上资源的链接,并使用这些链接更新 REST API 响应以与客户端动态交互。这将使开发 3 级 Rest API 成为可能。

  • Sidhartha Mallik: "这门课程很中肯每个级别都很棒,强烈推荐"

本课程中还有一个响应式开发部分,演示了使用 Reactive Spring、WebFlux、WebClient 和 Reactive Thymeleaf 响应式查询 elasticsearch。在本节中,您将学习如何使用 Spring Webflux 和 Spring 反应式组件在微服务之间创建异步流。

您将使用 Spring Boot 和 Spring Cloud 以及 Docker 来开发云就绪微服务。Docker 是一个容器化平台,它可以将应用程序打包到容器中。这些容器以后可以在 docker 运行的任何环境中运行。在本课程中,您将创建已开发的微服务的 docker 映像。然后使用 docker compose 一起运行所有微服务容器,以及其他依赖项,例如 Kafka、Elasticsearch、Keycloak、Redis、Prometheus、Grafana 和 Zipkin。最后,一个"docker-compose up"命令就足以运行所有微服务架构以及所需的依赖项。拥有这些 docker 映像将使您能够轻松地将应用程序部署到任何云供应商。

  • Mohammed O. Tillawy:* "很棒的课程,但要做好准备,非常紧张,需要大量信息,需要专注和耐心。 "*

您将采用实践方法并从头开始开发一个项目,在该项目中,您将拥有多个被多个模块包围的微服务来完成特定任务。因此,在本课程中,您将需要亲自动手,我将从头到尾指导您。您还将在每个部分中找到多项选择测验,以检查您在整个课程中的进度。

在课程结束时,您不仅将了解具有多个服务和组件的分布式应用程序的现实挑战,而且您将能够应用解决方案来应对这些挑战。

您可以单独下载每个讲座中的源代码,并使用您的 IDE 或 docker 轻松运行它们。

  • Ido Charar:* "* Ali Gelenler 的这门课程非常出色。它不仅仅是关于带有 kafka 和弹性的 Spring Cloud。本课程让您了解更多与 Spring Cloud 相关的技术,尤其是与云计算相关的技术。其中包括像反应式编程、流式传输、Linux 操作系统、安全性、设计模式等等。所有信息都以简洁但可吸收的形式提供,这使您可以在最短的时间内扩展您的技能。非常感谢对材料的投资、讲师的参与、不断*"* _

更多关于本课程进度的信息,您可以查看介绍视频和免费课程,如果您决定参加本课程,随时欢迎您在问答和留言中询问和讨论概念和实施细节部分。我将从头到尾指导您,帮助您成功完成课程并从本课程中获得尽可能多的知识和经验。

此课程面向哪些人:

  • 想要掌握使用 Spring Boot 和 Spring Cloud 应用模式的微服务架构

  • 想用 Kafka 学习事件驱动微服务的人

  • 喜欢通过动手方法学习的人

     

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

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

相关文章

javaee之黑马旅游网1

这是一个用来锻炼javaweb基础知识的项目,先来导入一些我们准备好的文件 下面这些东西是我们项目必备的,我们提前准备好了 ,这个我会上传到我的资源,你们可以自己去下载 利用maven来创建一个项目 选择无骨架创建项目,域…

[附源码]计算机毕业设计小型银行管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

JavaWeb_第6章_FilterListenerAjax

JavaWeb_第6章_Filter&Listener&Ajax 文章目录JavaWeb_第6章_Filter&Listener&Ajax1,Filter1.1 Filter概述1.2 Filter快速入门1.2.1 开发步骤1.2.2 代码演示1.3 Filter执行流程1.4 Filter拦截路径配置1.5 过滤器链1.5.1 概述1.5.2 代码演示1.5.3 问…

最新版本zookeeper+dubbo-admin

zookeeper 下载地址 :https://archive.apache.org/dist/zookeeper/ 修改conf下zoo_sample.cfg - >zoo.cfgbin下启动zkServer.cmd启动成功 :binding to port 0.0.0.0/0.0.0.0:2181 问题1:zookeper安装 1.去官网下载apache-zookeeper-3.6.2-bin.tar.gz名字中带有…

通用的改进遗传算法求解带约束的优化问题(MATLAB代码)

目录 1 概述 2 遗传算法 2.1 遗传算法的基本概念 2.2 遗传算法的特点 2.3 程序框图 3 运行结果 4 通用的改进遗传算法求解带约束的优化问题(MATLAB代码) 1 概述 遗传算法(Genetic Algorithm,GA)是模拟生物在自然环境中的遗传和进化过程而形成的自…

Spark中宽依赖、窄依赖、Job执行流程

一、宽依赖和窄依赖的定义 【宽依赖:】 宽依赖表示同一个父(上游)RDD 的 Partition 被多个子(下游)RDD 的 Partition 依赖,会引起 Shuffle,总结:宽依赖我们形象的比喻为多生。有shu…

DPD(Digital Pre-Distortion,数字预失真)

什么是DPD 下图中图A是一个理想PA的输入输出关系,它具有线性特性,也就是说输出信号的功率与输入信号功率具有线性关系。但是,现实中使用的PA却不具备理想PA的线性特性。如图C所示,现实PA的输出与输入是非线性关系。为了让非理想P…

HCIA 笔记(1)

一、什么是计算机网络: 二、什么是云技术? 云技术 包含 云存储(百度网盘) 、云计算(分布式计算) 三、计算机技术是怎么实现的? 答:抽象语言(高级语言、汇编语言等&…

数据库、计算机网络,操作系统刷题笔记7

数据库、计算机网络,操作系统刷题笔记7 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle&…

用代码实现全自动化批量下单官网的 iPhone-14-Pro 集成智能下单购物系统,附源码可直接运行

用代码实现全自动化批量下单官网的 iPhone-14-Pro 集成智能下单购物系统,附源码可直接运行。 环境搭建: 1、首先打开谷歌浏览器 输入:chrome://version/ 查看浏览器的版本; 2、打开这个链接: http://chromedriver.storage.googleapis.com/index.html 找到和自己浏览器…

uni-app入门:HBuilderX安装与项目创建

1.HBuilderX下载与安装 2.新建 uni-app 项目并运行到微信开发者工具 1.HBuilderX下载与安装uni-app 官方推荐使用 HBuilderX 来开发 uni-app 类型的项目。 主要好处: 模板丰富 完善的智能提示 一键运行 当然,依然可以根据自己的喜好,选…

(附源码)php小型网络舆情平台设计 毕业设计 252324

小型网络舆情平台设计 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用php技术建设…

作业11:优化算法比较

目录1. 编程实现图6-1,并观察特征2. 观察梯度方向3. 编写代码实现算法,并可视化轨迹4. 分析上图,说明原理(选做)1) 为什么SGD会走“之字形”?其它算法为什么会比较平滑?2&#xff09…

C#获取子文件夹及其中所有的文件

首先用FolderBrowserDialog获取目标文件夹,如果不要求可视化也可以直接在文本框中输入,从其的SelectedPath属性中就可以获取目标路径。 FolderBrowserDialog folder new FolderBrowserDialog(); folder.ShowDialog(); string Root folder.SelectedPat…

三台机器搭建redis集群过程及问题记录

文章目录1. 前言2. 搭建集群3. 遇到的问题4. 相关文章1. 前言 Redis版本 5.0.4 服务器版本 Linux CentOS 6;CentOS 7;CentOS 9; redis集群需要至少要三个master节点,我们这里搭建三个master节点,并且给每个master再搭…

Spring boot 启动流程及外部化配置

平时我们开发Spring boot 项目的时候,一个SpringBootApplication注解加一个main方法就可以启动服务器运行起来,那它到底是怎么运行起来的呢? Main 入口 我们首先从main方法来看源码,逐步深入: SpringBootApplicatio…

Python实现Stacking回归模型(随机森林回归、极端随机树回归、AdaBoost回归、GBDT回归、决策树回归)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 Stacking通常考虑的是异质弱学习器(不同的学习算法被组合在一起),st…

(附源码)SSM宠物领养系统 毕业设计 031654

SSM宠物领养系统 摘 要 如今,随着人们生活水平不断提高,人们的生活在物质满足的基础上,更多的人将生活的重点放在追求精神享受的过程中。于此同时,Internet铺天盖地的普及,使得这样的人纷纷通过Internet的方式去寻找精…

(十一) 共享模型之无锁【CAS 与 volatile】

一、问题引出(P158) 1. 取款案例 interface Account {// 获取余额Integer getBalance();// 取款void withdraw(Integer amount);/*** 方法内会启动 1000 个线程,每个线程做 -10 元 的操作* 如果初始余额为 10000 那么正确的结果应当是 0*/st…

Seata概述基础

分布式事务原因: 单体架构的spring事务不能跨机器,不能跨数据源 分布式事务的概念: 一个业务流程,在分布式系统(微服务)中,每个业务模块都是一个分支,保证每个业务分支一起成功&am…