2.Eureka注册中心的搭建与服务注册,服务发现

目录

1.搭建EurekaServer

1.eureka-server的maven项目引入依赖

2.编写启动类,添加@EnableEurekaServer注解

3.添加application.yml文件,编写配置

4.在浏览器访问localhost:10086

 2.服务的注册

1.在项目中引入eureka-client依赖

2.在application.yml中配置eureka地址

3.将一个服务启动多个实例

 4.重启服务

3.服务的发现

1.修改OrderService的代码,修改访问的url路径,用服务名代替ip、端口:

2.在order-service项目的启动类OrderApplication中的RestTemplate添加负载均衡注解:

3.在浏览器发起请求localhost:8080/order/101查看userservice的日志输出默认为轮询策略


1.搭建EurekaServer

1.eureka-server的maven项目引入依赖

        <!--eureka服务端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

2.编写启动类,添加@EnableEurekaServer注解

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class,args );
    }
}

3.添加application.yml文件,编写配置

server:
  port: 10086
spring:
  application:
    name: eurekaserver
eureka:
  client:
    service-url:  #eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka

4.在浏览器访问localhost:10086

 2.服务的注册

1.在项目中引入eureka-client依赖

        <!--eureka客户端依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

2.在application.yml中配置eureka地址

spring:
  application:
    name: userserver #注册的服务名
eureka:
  client:
    service-url:  #eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka

3.将一个服务启动多个实例

快捷键CTRL+D
-Dserver.port=8082

 4.重启服务

3.服务的发现

1.修改OrderService的代码,修改访问的url路径,用服务名代替ip、端口:

基于RestTemplate发起的http请求实现远程调用

@Service
public class OrderService {

    @Autowired
    private OrderMapper orderMapper;
    @Autowired
    private RestTemplate restTemplate;

    public Order queryOrderById(Long orderId) {
        // 1.查询订单
        Order order = orderMapper.findById(orderId);
        //2.利用RestTemplate发起http请求,查询用户
        String url="http://userservice/user/"+order.getUserId();
        User user = restTemplate.getForObject(url, User.class);
        //3.封装User到Order
        order.setUser(user);
        // 4.返回
        return order;
    }
}

2.order-service项目的启动类OrderApplication中的RestTemplate添加负载均衡注解:

    //创建RestTemplate并注入Spring容器
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

3.在浏览器发起请求localhost:8080/order/101查看userservice的日志输出默认为轮询策略

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mymk01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值