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

相关推荐
曾令胜9 小时前
excel导出使用arthas动态追踪方法调用耗时后性能优化的过程
spring·性能优化·excel
多云几多9 小时前
Yudao单体项目 springboot Admin安全验证开启
java·spring boot·spring·springbootadmin
摇滚侠10 小时前
Spring Boot 3零基础教程,Spring Intializer,笔记05
spring boot·笔记·spring
兮动人11 小时前
Spring Bean耗时分析工具
java·后端·spring·bean耗时分析工具
MESSIR2211 小时前
Spring IOC(控制反转)中常用注解
java·spring
smilecold14 小时前
SpringCloud 入门 - Gateway 网关与 OpenFeign 服务调用
spring cloud·gateway
hello 早上好16 小时前
深入 Spring 条件化配置底层:从硬编码到通用注解的实现原理
java·后端·spring
亚林瓜子16 小时前
Spring中Date日期序列化与反序列化中格式设置
java·后端·spring·jackson·date
哞哞不熬夜20 小时前
JavaEE--Spring MVC
spring·java-ee·mvc
Java水解21 小时前
深入剖析Spring Boot依赖注入顺序:从原理到实战
后端·spring