美文网首页
5.服务治理-Eureka-服务提供者

5.服务治理-Eureka-服务提供者

作者: 溅十三 | 来源:发表于2020-04-20 22:02 被阅读0次
image.png

要写controller,那么就要引入spring的web组件
pom的name能够打印出更友好的信息?

1. 创建入口类EurekaClientApplication

创建springBoot启动类
启动方式是webapplication中的servlet类型
启用EnableDiscoveryClient发现服务(到服务中心拉取服务注册列表)

package com.imooc.springcloud;

import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class EurekaClientApplication {
    public static void main(String[] args) {
        new SpringApplicationBuilder(EurekaClientApplication.class)
                .web(WebApplicationType.SERVLET)
                .run(args);
    }
}

2. 创建Controller对外提供service

  • 创建Controller
    @Slf4j简写代码
    @Value("${server.port}"),说明元素从哪里来
    创建对外提供的方法sayHi()
  • 创建entity Friend
    lombok使用?
Controller
package com.imooc.springcloud;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Slf4j
public class Controller {
    @Value("${server.port}")
    private String port;

    @GetMapping("/sayHi")
    public String sayHi(){
        return "This is "+ port;
    }

    @PostMapping("/sayHi")
    public Friend sayHiPost(@RequestBody Friend friend){
        log.info("You are"+friend.getName());
        friend.setPort(port);
        return friend;
    }
}

entity Friend
package com.imooc.springcloud;

import lombok.Data;

@Data
public class Friend {
    private String name;
    private String port;
}

3. application.properties

  • 创建application.properties
  • 启动如果client的ip地址有问题?重启服务即可
spring.application.name=eureka-client

server.port=30002

eureka.client.serviceUrl.defaultZone=http://127.0.0.1:20000/eureka/

#eureka.client.serviceUrl.defaultZone=http://peer2:20000/eureka/,http://peer1:20001/eureka/

# 每隔5秒钟,向服务中心发送一条续约指令
#eureka.instance.lease-renewal-interval-in-seconds=5

# 如果30秒内,依然没有收到续约请求,判定服务过期(上西天)
#eureka.instance.lease-expiration-duration-in-seconds=30

4.实现效果?

启动eureka-server及eureka-client
访问http://127.0.0.1:20000/

image.png

相关文章

网友评论

      本文标题:5.服务治理-Eureka-服务提供者

      本文链接:https://www.haomeiwen.com/subject/wuajihtx.html