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

相关推荐
MX_93592 小时前
Spring的bean工厂后处理器和Bean后处理器
java·后端·spring
程序员泠零澪回家种桔子3 小时前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
晚霞的不甘4 小时前
CANN 编译器深度解析:UB、L1 与 Global Memory 的协同调度机制
java·后端·spring·架构·音视频
寄存器漫游者6 小时前
Linux 软件编程 - IO 编程
linux·运维·spring
我真会写代码6 小时前
SSM(指南一)---Maven项目管理从入门到精通|高质量实操指南
java·spring·tomcat·maven·ssm
vx_Biye_Design6 小时前
【关注可免费领取源码】房屋出租系统的设计与实现--毕设附源码40805
java·spring boot·spring·spring cloud·servlet·eclipse·课程设计
独断万古他化9 小时前
【SSM开发实战:博客系统】(三)核心业务功能开发与安全加密实现
spring boot·spring·mybatis·博客系统·加密
若鱼19199 小时前
SpringBoot4.0新特性-Observability让生产环境更易于观测
java·spring
Volunteer Technology10 小时前
sentinel基本操作
spring cloud·sentinel
Dragon Wu10 小时前
Spring Security Oauth2.1 授权码模式实现前后端分离的方案
java·spring boot·后端·spring cloud·springboot·springcloud