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

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

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

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

下载地址

课程编号:326

百度网盘地址:https://pan.baidu.com/s/1qGJzKMXtgKdVK77dcYR9Qw” />

您将使用最新的软件平台、技术、库和工具,遵循最佳实践,应用微服务模式并使用 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 学习事件驱动微服务的人

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