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 次:

相关文章
|
2天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
23 3
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
380 37
|
1月前
|
负载均衡 算法 Nacos
SpringCloud 微服务nacos和eureka
SpringCloud 微服务nacos和eureka
57 0
|
3月前
|
人工智能 前端开发 Java
【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)
本文介绍了如何使用 **Spring Cloud Alibaba AI** 构建基于 Spring Boot 和 uni-app 的聊天机器人应用。主要内容包括:Spring Cloud Alibaba AI 的概念与功能,使用前的准备工作(如 JDK 17+、Spring Boot 3.0+ 及通义 API-KEY),详细实操步骤(涵盖前后端开发工具、组件选择、功能分析及关键代码示例)。最终展示了如何成功实现具备基本聊天功能的 AI 应用,帮助读者快速搭建智能聊天系统并探索更多高级功能。
1271 2
【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)
|
1月前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
37 0
|
2月前
|
负载均衡 Java Nacos
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
微服务介绍、SpringCloud、服务拆分和远程调用、Eureka注册中心、Ribbon负载均衡、Nacos注册中心
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
|
3月前
|
Java Spring
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
|
3月前
|
Java Spring 容器
【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM
【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM
|
3月前
|
存储 Java Spring
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
|
3月前
|
SQL Java 数据库连接
【Azure Spring Cloud】Azure Spring Cloud connect to SQL using MSI
【Azure Spring Cloud】Azure Spring Cloud connect to SQL using MSI