SpringCloud 源码剖析(二)实战 Eureka 本地集群搭建

简介: SpringCloud 源码剖析(二)实战 Eureka 本地集群搭建

Eureka 本地集群搭建

你好,我是悟空。

组成 Eureka 注册中心集群

修改本地 hosts 配置

host 文件添加两台 Eureka server 的地址映射,都为本地 localhost 地址

127.0.0.1 eureka-server1
127.0.0.1 eureka-server2

修改 Eureka Server 配置

两个服务互相向对方注册,第一个 Eureka 开放 8761 端口,注册到第二个 Eureka 的 8762 端口。

第一个 Eureka Server 的配置并启动

server:
  port: 8761
eureka:
  instance:
    hostname: eureka-server1
  client:
    serviceUrl:
      defaultZone: http://eureka-server1:8762/eureka/

修改第二个 Eureka Server 的配置,并启动

server:
  port: 8762
eureka:
  instance:
    hostname: eureka-server2
  client:
    serviceUrl:
      defaultZone: http://eureka-server2:8761/eureka/

访问 http://localhost:8761/

访问 http://localhost:8762/

mark

两台 Eureka Server 组成了一个集群环境

组成服务集群

将服务 A 配置成注册到 Eureka 集群。在 defaultZone 配置中添加第二个 eureka 的服务地址。

server:
  port: 8005
spring:
  application:
    name: ServiceA
eureka:
  instance:
    hostname: localhost
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka,http://localhost:8762/eureka

然后启动服务 A。

然后将服务 A 的 port 改为 8006 后,再次启动一个服务 A,相当于部署了两个服务 A,后续可以作为测试负载均衡的功能。

发现一个 Eureka 的问题,注册列表总是刷新不出最新的注册信息,重启 Eureka 服务后就刷出来了。

接着我们把服务 A 的passjava 方法,打下日志,后面观察两个服务 A 分别被服务 B 调用了几次。

修改服务调用者的配置

将服务 B 配置成注册到 Eureka 集群。在 defaultZone 配置中添加第二个 eureka 的服务地址。

两个 Eureka 服务中都有服务 B 的注册信息。

测试服务 B 调用服务 A

多次刷新浏览器,访问服务 B 的 API

http://localhost:9091/test/悟空

第一个服务 A 被服务 B 调用了 6 次:

第二个服务A 被服务 B 调用了 7 次:

相关文章
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3
|
2月前
|
自然语言处理 Java API
Spring Boot 接入大模型实战:通义千问赋能智能应用快速构建
【10月更文挑战第23天】在人工智能(AI)技术飞速发展的今天,大模型如通义千问(阿里云推出的生成式对话引擎)等已成为推动智能应用创新的重要力量。然而,对于许多开发者而言,如何高效、便捷地接入这些大模型并构建出功能丰富的智能应用仍是一个挑战。
209 6
|
2月前
|
缓存 NoSQL Java
Spring Boot与Redis:整合与实战
【10月更文挑战第15天】本文介绍了如何在Spring Boot项目中整合Redis,通过一个电商商品推荐系统的案例,详细展示了从添加依赖、配置连接信息到创建配置类的具体步骤。实战部分演示了如何利用Redis缓存提高系统响应速度,减少数据库访问压力,从而提升用户体验。
117 2
|
3月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
477 37
|
2月前
|
Java 数据库连接 Spring
【2021Spring编程实战笔记】Spring开发分享~(下)
【2021Spring编程实战笔记】Spring开发分享~(下)
31 1
|
2月前
|
XML Java 数据格式
Spring IOC容器的深度解析及实战应用
【10月更文挑战第14天】在软件工程中,随着系统规模的扩大,对象间的依赖关系变得越来越复杂,这导致了系统的高耦合度,增加了开发和维护的难度。为解决这一问题,Michael Mattson在1996年提出了IOC(Inversion of Control,控制反转)理论,旨在降低对象间的耦合度,提高系统的灵活性和可维护性。Spring框架正是基于这一理论,通过IOC容器实现了对象间的依赖注入和生命周期管理。
76 0
|
2月前
|
负载均衡 算法 Nacos
SpringCloud 微服务nacos和eureka
SpringCloud 微服务nacos和eureka
69 0
|
2月前
|
XML Java 数据库连接
【2020Spring编程实战笔记】Spring开发分享~(上)
【2020Spring编程实战笔记】Spring开发分享~
56 0
|
3月前
|
负载均衡 Java Nacos
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
微服务介绍、SpringCloud、服务拆分和远程调用、Eureka注册中心、Ribbon负载均衡、Nacos注册中心
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
|
4月前
|
JSON Java API
解码Spring Boot与JSON的完美融合:提升你的Web开发效率,实战技巧大公开!
【8月更文挑战第29天】Spring Boot作为Java开发的轻量级框架,通过`jackson`库提供了强大的JSON处理功能,简化了Web服务和数据交互的实现。本文通过代码示例介绍如何在Spring Boot中进行JSON序列化和反序列化操作,并展示了处理复杂JSON数据及创建RESTful API的方法,帮助开发者提高效率和应用性能。
194 0