微服务的学习--Eureka

5 篇文章 0 订阅
1 篇文章 0 订阅

认识学习

当我们在微服务项目中需要远程调用其他服务时会使用到该中间件或组件

本地搭建–Eureka服务端搭建

1、首先在微服务项目中创建Eureka模块。
2、依赖引入pom文件中。
<dependency>
         <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
3、创建我们的启动类。
// 将SpringBoot项目标记为一个Eureka Server
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}
4、进行配置。
server:
  port: 8761
spring:
  application:
    name: eurekaserver
eureka:
  client:
    service-url:
      #这里是将自己也注册到自己的服务上,该位置可以配置多个地址,方便后期搭建集群
      defaultZone: http://127.0.0.1:8761/eureka
  • 完成以上步骤之后我们就可以在浏览器中访问我们的Eureka
    在这里插入图片描述

Eureka服务注册–客户端

找到我们需要远程调用的服务

1、引入我们的依赖。
<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2、修改配置文件
spring:
  application:
    # 配置服务名称
    name: userservice
# eureka配置
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka
  • 到这里我们便完成了服务的注册

服务发现

1、要想真正实现调用还需要在我们的其他模块的启动类中加入可以实现Http请求的类
/**
* 创建restTemplate并注入Spring容器
*/
@Bean
// 该注解是负载均衡的注解
@LoadBalanced
public RestTemplate restTemplate() {
    return new RestTemplate();
}
2、完成后即可在service等包的类中使用
/**
* 首先注入依赖
*/
@Autowired
private RestTemplate restTemplate;
// 实现方式如下实例
public Book queryBookById(Long bookrId) {
    Book book = bookMapper.findById(bookId);
    // 2. 利用RestTemplate发送http请求,将原来的ip转化为我们的服务名称
    String url = "http://userservice/user/"+book.getUserId();
    User user = restTemplate.getForObject(url, User.class);
    book.setUser(user);
    return book;
}
  • 到这里我们的Eureka简单实例就完成了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值