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

相关推荐
Mr.朱鹏6 小时前
分布式-redis集群架构
java·redis·分布式·后端·spring·缓存·架构
醇氧6 小时前
PowerPoint 批量转换为 PDF
java·spring boot·spring·pdf·powerpoint
食指Shaye7 小时前
docker的学习日记
学习·docker·eureka
gxy1990267 小时前
【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目
java·spring boot·spring
Chan167 小时前
双非 Java 后端首次实习 | 个人经验分享总结
java·开发语言·spring boot·spring·java-ee·intellij-idea
HalvmånEver15 小时前
7.高并发内存池大页内存申请释放以及使用定长内存池脱离new
java·spring boot·spring
一直都在57217 小时前
Spring面经
java·后端·spring
xiaoye370817 小时前
如何在Spring中使用注解配置Bean的生命周期回调方法?
java·spring
闻哥17 小时前
深入Redis的RDB和AOF两种持久化方式以及AOF重写机制的分析
java·数据库·spring boot·redis·spring·缓存·面试
jgyzl17 小时前
2026.3.12 常见的缓存读写策略
java·后端·spring