SpringCloud实用篇(二)——搭建eureka服务

搭建eureka服务

搭建EurekaServer

注册eureka自己本身

1.创建项目,引入spring-cloud-starter-neflix-eureka-server的依赖

复制代码
<!--eureka服务端-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

2.编写启动类,添加@EnableEurekaServer注解

3.添加application.yml文件,编写下面的配置:

复制代码
server:
  port: 10086 #服务端口
spring:
    application:
        name: eurekaserver
eureka:
    client:
        service:
            defaultZone: http://127.0.0.1:10086/eureka/
复制代码
spring:
   application:
       name: eurekaserver #eurekaserver
eureka:
 client:
   service-url: #eureka的地址信息
     defaultZone: http://127.0.0.1:10086/eurek

上面就是注册自己的配置(因为自己也是一个微服务)

下面这部分是最重要的,下面就是自己和其他服务被注册的信息

注册user-service

1.引入spring-cloud-start-netflix-eureka-client的依赖

复制代码
<!--eureka客户端依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2.在application.yml文件,编写下面的配置:

复制代码
spring:
    application:
        name: user-service
eureka:
    client:
        service:
            defaultZone: http://127.0.0.1:10086/eureka/

注册order-service

1.引入spring-cloud-start-netflix-eureka-client的依赖

复制代码
<!--eureka客户端依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2.在application.yml文件,编写下面的配置:

复制代码
spring:
    application:
        name: user-service
eureka:
    client:
        service:
            defaultZone: http://127.0.0.1:10086/eureka/

在此处遇到了一个bug,此bug由于配置文件是cv过来的所以存在不知名的空格影响了项目的允许

bug参考文章:https://blog.csdn.net/weixin_43464372/article/details/107637370

😊注意一定要自己写配置,不然有空格之类的会导致报错

目前高版本已经不用在客户端的启动端上添加@EnableEurekaClient注解

服务发现

在注册的基础上

1.在orderService上修改远程调用接口

在注册的基础上

1.在orderService上修改远程调用接口

复制代码
//2.利用RestTemplate发起http请求,查询用户
//2.1 url路径
String url = "http://localhost:8081/user/"+order.getUserId();

用服务名代替ip

复制代码
String url ="http://order-service/user"+order.getUserId();

2.在启动类上RestTemplate上添加注解负载均衡注解(@LoadBalanced)

复制代码
@Bean
@LoadBalanced
public stestTemplate(){
    return new RestTemplate();
}

自此服务注册完毕

发出了三次申请

两次在端口为8082的提供者

一打在了端口为8080的提供者上

相关推荐
七夜zippoe11 小时前
Spring AI 是什么?Java 工程师的 AI 开发第一站
java·人工智能·spring·ai·开发
wangjialelele12 小时前
一文梳理 Spring Cloud 核心组件:Eureka、Nacos、OpenFeign、LoadBalancer 与 Gateway
java·spring boot·spring·spring cloud·微服务·nacos
萧瑟余晖12 小时前
Spring Security综合实战与安全加固详解
java·安全·spring
CarIise12 小时前
Spring MVC 请求参数绑定与常用注解2
java·spring·mvc
Nebula_g13 小时前
SpringBoot企业级实战项目—云禾外卖—SpringBoot常用注解解析
java·网络·数据库·spring boot·后端·spring·javase
CarIise13 小时前
Spring MVC 请求参数绑定与常用注解
java·spring·mvc
萧瑟余晖13 小时前
Spring Security 6.x新特性与架构演进详解
java·spring·架构
萧瑟余晖14 小时前
Spring Security架构总览与过滤器链详解
spring·架构
猿究院_夏燊1 天前
Spring Bean 生命周期
java·后端·spring
流烟默1 天前
MCP第 5 篇:用 Spring AI 写 MCP:注解、自动配置、ChatClient 集成
人工智能·spring·mcp封装