EUREKA(注册中心)三步开启-

本文介绍了如何分三步创建Eureka注册中心,包括添加依赖、配置application.yml和启动类。接着,展示了两个步骤将用户服务(提供者)注册到Eureka中,通过添加依赖和配置服务地址。最后,详细说明了消费者如何通过Eureka服务发现机制来调用提供者服务,涉及RestTemplate的负载均衡配置。
摘要由CSDN通过智能技术生成

1.三步开启注册中心

1.创建模块并导入依赖

<dependencies> <!--eureka-server注册中心-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

2.编写一个application.yml文件

server:
  port: 10086
spring:
  application:
    name: eurekaserver # 服务名称
eureka:
  instance:
    hostname: 127.0.0.1 # 注册中心服务地址
  client:
    register-with-eureka: false # 是否向注册中心注册自己,默认值:true,Eureka服务端是不需要再注册自己的。
    fetch-registry: false # 是否向注册中心发现新的微服务,默认值: true,Eureka服务端是不需要发现新服务的。
    service-url:
     defaultZone: http://localhost:10086/eureka # 注册中心(自己) 地址

3.创建 EurekaApplication 启动类

一定要添加一个@EnableEurekaServer注解,开启eureka的注册中心

功能

@SpringBootApplication
@EnableEurekaServer
// 开启eureka的注册中心功能
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class,args);
    }

}

启动微服务,然后在浏览器访问:http://127.0.0.1:10086

——————————————————————————————————————————————

2.两步提供者注册eurkea

下面,我们将(提供者)user-service注册到eureka-server中去

1.导依赖

<dependency>
            <groupId>org.springframework.cloud</groupId>-->
          <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>-->
       </dependency>
       //nacos注册中心管理依赖-->

2.写配置

修改user里application.yml文件,添加服务名称、eureka地址

eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka # EurekaServer注册 中心地址

3.测试

启动多个user-service实例

复制实例更改其中的端口配置 -Dserver.port=8082

启动8081、8082端口的用户微服务

3.三步新建消费者

order-server(消费者)向eureka-server拉取user-service的信息,实现服务发现

1.导入依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

2.修改application.yml文件,添加服务名称、eureka地址

eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka # 注册中心地址

3.启动类注入RestTemplate,并且添加注释@LoadBalanced

给RestTemplate这个Bean添加一个 @LoadBalanced 注解设置负载均衡

@MapperScan("com.xxxx.order.mapper")
@SpringBootApplication
public class OrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }

    @Bean
    @LoadBalanced//配置负载均衡
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

补充:消费者连接提供者

此处举例子在消费者里的service层新建方法,通过id查询提供者的id查询方法,并且返回。

@Service
public class OrderService {

    @Autowired
    private OrderMapper orderMapper;

    @Autowired
    private RestTemplate restTemplate;

    public Order findOrderByUserId(Long orderId) {
        // 1.查询订单
        Order order = orderMapper.selectById(orderId);
        // 2.调用用户微服务
        // String url = "http://localhost:8081/user/"+order.getUserId();
        String url = "http://userservice/user/" + order.getUserId();
        User user = restTemplate.getForObject(url, User.class);
        // 3.封装用户到订单中
        order.setUser(user);
        // 4.返回
        return order;
    }
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值