spring cloud 2.x版本 Eureka Client服务提供者教程

本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3

1 创建eureka client

1.1 新建Srping boot工程:eureka-client
1.2 pom.xml所需要依赖的jar包
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
复制代码
1.3 EurekaClientApplication添加注解@EnableEurekaClient
package spring.cloud.demoo.eurekaclient;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@EnableEurekaClient
@SpringBootApplication
public class EurekaClientApplication {

<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span><span class="hljs-params">(String[] args)</span> </span>{
    SpringApplication.run(EurekaClientApplication.class, args);
}

}
复制代码

@EnableEurekaClient 向eureka服务中心注册服务(推荐使用),如果是其他服务注册中心,例如:consul、zookeeper,建议使用@EnableDiscoveryClient

1.4 添加application.yml配置内容、
spring:
  application:
    name: eureka-client
server:
  port: 8801

eureka:
instance:
hostname: localhost
# 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,如果要迅速获取服务注册状态,可以缩小该值
lease-renewal-interval-in-seconds: 5
# 表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance。
# 默认为90秒
# 如果该值太大,则很可能将流量转发过去的时候,该instance已经不存活了。
# 如果该值设置太小了,则instance则很可能因为临时的网络抖动而被摘除掉。
# 该值至少应该大于 leaseRenewalIntervalInSeconds
lease-expiration-duration-in-seconds: 10
client:
service-url:
defaultZone: http://localhost:8701/eureka/
复制代码

配置中http://localhost:8701/eureka/ 调用eureka-server,可以参考: eureka-server注册中心搭建

1.5 创建测试controller:EurekaClientController
package spring.cloud.demoo.eurekaclient.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;

/**

  • @auther: maomao

  • @DateT: 2019-09-17
    */
    @RestController
    public class EurekaClientController {

    @Value("${server.port}")
    private String port;

    @RequestMapping("/info")
    public String syaHello(HttpServletRequest request) {
    String message = request.getScheme() + “😕/” + request.getServerName() + “:” + request.getServerPort() + request.getServletPath();
    return message;
    }

}
复制代码

1.6 启动eureka-client服务

访问http://localhost:8801/info,并返回结果,如下图所示。

这时在访问服务注册中心,如果下入所示:

可以看到eureka-client已经注册到服务注册中心。

至此,一个简单的单机eureka client服务提供者就搭建完成。服务的提供者提供一个Restful服务。

彩蛋

eureka client集群的搭建

1.1 配置本地host文件
127.0.0.1		eureka1.client.com
127.0.0.1		eureka2.client.com
127.0.0.1		eureka3.client.com
复制代码
1.2 增加application.yml配置文件

增加application-clinet1.yml和application-clinet2.yml文件,修改原application.yml文件。

  • application.yml
spring:
  application:
    name: eureka-client
server:
  port: 8801

eureka:
instance:
hostname: eureka1.client.com
lease-renewal-interval-in-seconds: 5
lease-expiration-duration-in-seconds: 10
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
复制代码

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

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

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值