五、区域配置、重试机制 1,指定区域 Zone 我们可以通过 Eureka 实例的元数据配置来实现区域化的实例配置方案。比如:将处于不同机房的实例配置成不同的区域值,以作为跨区域的容错机制实现。 (1)服务提供者方面,只需要在服务实例的元数据中增加 zone 参数来指定自己所在的区域即可......
在之前的文章中我演示了如何搭建服务注册中心和服务提供者,本文接着演示如何构建一个服务消费者,它主要完成两个目标:发现服务以及消费服务。其中发现服务的任务由 Eureka 的客户端完成,而服务消费的任务由 Ribbon 完成。 Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡器......
在之前文章中我们都是使用单节点的服务注册中心,这个在生产环境下显然并不合适,本文接着介绍如何构建高可用的服务注册中心以增强系统的可用性。 三、构建高可用注册中心 1,Eureka Server 的高可用 Eureka Server 在设计的时候就考虑了高可用设计......
前文演示了如何搭建一个服务注册中心,本文接着演示如何将一个既有的 Spring Boot 应用加入 Eureka 的服务治理体系中去。 二、创建并注册服务提供者 1,添加依赖 首先创建一个 Spring Boot 工程,然后在 pom 文件中引入相关依赖. 2,Eureka Client 相关配置......
序:基本概念介绍 1,服务治理 (1)服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现。 服务注册:在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,包括服务的主机与端口号......
默认情况下,当项目启动时,监听器就开始工作(监听消费发送到指定 topic 的消息)。如果我们不想让监听器立即工作,想在程序运行的过程中能够动态地开启、关闭监听器,可以借助 KafkaListenerEndpointRegistry 实现,下面通过样例进行演示......
在实际开发中,我们常常需要使用转发功能实现业务解耦。比如:应用 A 从 topic1 获取到消息,经过处理后转发到 topic2。应用 B 监听 topic2 获取消息再次进行处理。 十一、消费者6:消息转发 (1)Spring-Kafka 只需要通过一个 @SendTo 注解即可以实现消息的转发......
消息过滤器可以让消息在抵达监听容器前被拦截,过滤器根据系统业务逻辑去筛选出需要的数据交由 KafkaListener 处理,不需要的消息则会过滤掉。 十、消费者5:消息过滤器 1,配置消息过滤器 配置消息过滤器十分简单,只需要为监听容器工厂配置一个......
通常来说 KafkaListener 要做的事只是监听 Topic 中的数据并消费,如果在 KafkaListener 中还需要对异常进行 try catch 捕获并处理的话,则会显得代码块非常臃肿不利于维护。 好在 spring-kafka 为我们提供了专门的异常处理器(ConsumerAwareListenerErrorHandler......
由于 Kafka 的写性能非常高,因此项目经常会碰到 Kafka 消息队列拥堵的情况。遇到这种情况,我们可以通过并发消费、批量消费的方法进行解决。 八、消费者3:并发、批量消费 1,批量消费 (1)首先我们在项目 application.properties 文件中添加如下配置......