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的提供者上

相关推荐
IT空门:门主2 小时前
Spring 注入三剑客:@Resource、@Autowired、@RequiredArgsConstructor 到底该用哪个?
java·后端·spring
南部余额3 小时前
Spring WebClient 从入门到精通
java·后端·spring
摇滚侠3 小时前
Spring 零基础入门到进阶 基于注解管理 Bean 38-43
xml·java·后端·spring·intellij-idea
云烟成雨TD4 小时前
Spring AI 1.x 系列【47】 MCP Annotations 模块
java·人工智能·spring
Flittly6 小时前
【AgentScope Java新手村系列】(3)工具系统
java·spring boot·spring
运维瓦工6 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
云烟成雨TD6 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker
Flittly7 小时前
【AgentScope Java新手村系列】(2)第一个Agent-基础对话
java·spring boot·spring·ai
摇滚侠7 小时前
Spring MVC 不是一个单独的框架,是 Spring 框架的一个模块
java·spring·mvc
与海boy7 小时前
docker compose minio
docker·容器·eureka