基于事件驱动的微服务教程
使用 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 学习事件驱动微服务的人
-
喜欢通过动手方法学习的人