zoukankan      html  css  js  c++  java
  • Spring Cloud 框架 -- Eureka 服务的注册与消费

    服务注册

    服务注册就是把一个微服务注册到 Eureka Server 上,这样,当其他服务需要调用该服务时,只需要从 Eureka Server 上查询该服务的信息即可。

    这里创建一个 provider ,作为服务提供者,创建项目时,选择 Eureka Client 依赖,这样,当服务创建完成后,简单配置一下,就可以被注册到 Eureka Server 上了:

    项目创建好了后,在 application.properties 中配置一下:

    # 设置当前服务的名称
    spring.application.name=provider   
    # 设置当前服务的端口号
    server.port=1113
    # 设置当前服务的注册地址
    eureka.client.service-url.defaultZone = http://localhost:1111/eureka
    

    然后,先启动 Eureka Server (Eureka 的搭建参考文章https://www.cnblogs.com/youcoding/p/13238058.html),待服务注册中心启动成功后,再启动 provider 。

    随后,再在浏览器中输入 http://localhost:1111,就可以查看 provider 的注册信息,如下图:

    服务消费

    首先在 provider 中提供一个接口,然后创建一个新的 consumer 项目,消费这个接口;

    在 provider 中,提供一个 hello 接口,如下:

    @RestController
    public class HelloController {
        @Value("${server.port}")
        Integer port;
        @GetMapping("/hello")
        public String hello(){
            return "hello you!" + port;
        }
    }
    

    创建一个 consumer 项目,添加 web 和 eureka client 依赖:

    创建完成后,我们首先在 application.properties 中配置一下注册信息:

    spring.application.name=consumer
    # 应用服务 WEB 访问端口
    server.port=1116
    eureka.client.service-url.defaultZone = http://localhost:1111/eureka
    

    消费者 consumer 的主函数如下:

    @SpringBootApplication
    @EnableEurekaClient
    @EnableDiscoveryClient
    
    public class ConsumerApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ConsumerApplication.class, args);
        }
    
        // 创建一个 RestTemplate 实例
        // 并开启客户端负载均衡
        @Bean
        @LoadBalanced
        RestTemplate restTemplate(){
            return new RestTemplate();
        }
    
    }
    

    再新建 HelloController 类,定义一个 hello 接口:

    @RestController
    public class HelloController {
        @Autowired
        RestTemplate restTemplate;
    
        @GetMapping("/hello")
        public String hello(){
            return restTemplate.getForObject("http://PROVIDER/hello", String.class);
            //return "hello haha";
        }
    }
    

    启动 consumer,打开 eureka 后台,查看注册情况:

    忽略掉 Hystrix ,可以看到,provider 和 consumer 成功注册到 eureka 之中。

    再访问 http://localhost:1116/hello, 如下图:

    如上,就是 eureka 的服务注册与消费。

    每天学习一点点,每天进步一点点。

  • 相关阅读:
    微信小程序开发入门(二)
    微信小程序开发入门(一)
    django入门与实践(续)
    django入门与实践(开)
    Python六剑客
    python入门(二十讲):爬虫
    python入门(十九讲):多进程
    ES6箭头函数
    ES6
    数据库常用命令
  • 原文地址:https://www.cnblogs.com/youcoding/p/13257734.html
Copyright © 2011-2022 走看看