{徐州招聘信息}:SpringCloud《系列之服务注册发现》(Eureka)「应用」篇

admin 2个月前 (03-29) 科技 6 0

〖阳光在线〗[

〖阳光在线〗[www.baolonglxg.com((原)诚信在线)现已开放 〖阳光在线〗[手机‘版’下载。 〖阳光在线〗[游戏公平、〖公开〗、【公正】,{(用)实力赢取信誉}。

,

@

(目录)
  • 《〖前〗言》
  • “「“『项』目”版本」”
  • Eureka{服务}【端】
  • Eureka客户【端】
  • {服务}『访』问

《〖前〗言》

「大家好」,<距>离上周发布的【配置】中“心”基础使(用)已过去差不【多一】周啦,<趁着周末继续完>善后续SpringCloud『组件的集成』,「本次代码基」于〖【配置】中心〗<代>码的基础上进行集成。
SpringCloud Config 《文》章
SpringCloud Config demo01

“「“『项』目”版本」”

spring-boot-version:2.2.5.RELEASE
spring-cloud.version:Hoxton.SR3

Eureka{服务}【端】

「首先构」建Eureka{服务}【端】“『项』目”,“最近阿”里云开放了自己<的“『项』目”>快速构建平台,『那这次就使(用)下吧』。Alibaba initializr 『操作基本上和』Spirng「官方提供的一」模一样。{搜索并}选择eureka server{即可}。
pom 主要‘信息’[

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

application.properties

# {服务}应(用)名
spring.application.name=eureka-server
# {服务}【端】口
server.port=9003
# 禁止将本{服务}注册至eureka
eureka.client.register-with-eureka=false
# ‘屏’蔽注册‘信息’
eureka.client.fetch-registry=false
# eureka{服务}地址
eureka.client.serviceUrl.defaultZone=http://localhost:9003/eureka/

EurekaServerApplication.java

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

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

}

@EnableEurekaServer ‘《申明》注解此应(用)为’eureka{服务}【端】
{“『项』目”<启动>成功后『访』问} http://localhost:9003/,{即可}看到Eureka{服务}后台

Eureka客户【端】

客户【端】代码基于上篇SpringCloud〖【配置】中心〗(Config)“使(用)说明”,《文》章地址及代码见本文(开头),【这边主要说】明一些调整「的」地方。
‘先调整’spring-cloud-config-server“『项』目”,“我们需要”将其注册至Eureka{服务}上,<调整如>下
1.pom“<文件>”
《{ (增加)[}》eureka客户【端】相关依赖

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

2.application.properties
【配置】“<文件>”《{ (增加)[}》以下【配置】『项』

# eureka{服务}【端】地址
eureka.client.serviceUrl.defaultZone=http://localhost:9003/eureka/

3.ConfigServerApplication.java
《{ (增加)[}》@EnableDiscoveryClient ‘注解标签’[

@EnableConfigServer
@SpringBootApplication
@EnableDiscoveryClient
public class ConfigServerApplication

『调整完后』, 我们再<启动>[Config{服务}【端】, 这时可以[在Eureka{服务}后台看到config-server《已经注册》上了,『<如下图>』。

【接着调整】spring-cloud-config-client“『项』目”
1.pom“<文件>”
《{ (增加)[}》eureka客户【端】相关依赖

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

2.bootstrap.properties
【将原先直接通过】Config{服务}【端】地址调整为基于{服务}发现的【配置】,<调整如>下

# 【配置】{服务}【端】请求地址
#spring.cloud.config.uri=http://localhost:9001/
# 「开启」{服务}发现
spring.cloud.config.discovery.enabled=true
# 【配置】Config{服务}应(用)名称
spring.cloud.config.discovery.service-id=config-server

3.ConfigClientApplication.java
《{ (增加)[}》@EnableDiscoveryClient ‘注解标签’[

@SpringBootApplication
@EnableDiscoveryClient
public class ConfigClientApplication

<启动>Config客户【端】后,{即可}在Eureka{服务}后台看到{服务}已注<册进>来。<再『访』问下>Config 客户【端】暴露的接口,http://localhost:9002/getEnv,成功获取到【配置】‘信息’。

{服务}『访』问

{前面是基于}SprongCloud Config〖【配置】中心〗集成的Eureka,《接》下来将介绍下如何使(用)Eureka中已注册的{服务}。
〖这边先构建一个〗System「模块」,(用)于『访』问Config client提供的接口{服务}。
<部分>pom‘信息’

<!--eureka客户【端】-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--{服务}『访』问-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

application.properties

# {服务}应(用)名称
spring.application.name=system-server
# {服务}【端】口
server.port=9004
# eureka{服务}【端】地址
eureka.client.serviceUrl.defaultZone=http://localhost:9003/eureka/

SystemServerApplication.java
@EnableFeignClients「开启」Feign【的支持】

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class SystemServerApplication {

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

}

ConfigService.java
@FeignClient 《申明》Feign客户【端】‘信息’,“其中”name对应应(用){服务}提供方的应(用){服务}名称
@GetMapping(path = "/getEnv") 对应应(用){服务}提供方暴{露的}接口地址

@FeignClient(name = "config-client")
public interface ConfigService {

    @GetMapping(path = "/getEnv")
    String getEnvName();

}

SystemController.java

@RestController
@RequestMapping(value = "/web/system")
public class SystemController {

    @Autowired
    ConfigService configService;

    @RequestMapping(value = "/getEnvName", method = RequestMethod.GET)
    public String getEnvName() {
        return configService.getEnvName();
    }

}

<启动>系统{服务}「模块」后,『访』问 http://localhost:9004/web/system/getEnvName {即可}『访』问到‘信息’,『<如下图>』
{徐州招聘信息}:SpringCloud《系列之服务注册发现》(Eureka)「应用」篇 第1张

『访』问返回结果和『访』问 http://localhost:9002/getEnv (接口返回是一)样的, 仅仅只是[通过Feign『访』问了下 http://localhost:9002/getEnv,『内部是基于通』过注册在Eureka【上的】config-client{服务}调(用)得到的结果,内部{服务}地址 http://config-client/getEnv
“『项』目”代码结构如下
{徐州招聘信息}:SpringCloud《系列之服务注册发现》(Eureka)「应用」篇 第2张
{徐州招聘信息}:SpringCloud《系列之服务注册发现》(Eureka)「应用」篇 第3张

<本次示例代码地址>

Allbet声明:该文看法仅代表作者自己,与本平台无关。转载请注明:{徐州招聘信息}:SpringCloud《系列之服务注册发现》(Eureka)「应用」篇

网友评论

  • (*)

最新评论

文章归档

站点信息

  • 文章总数:453
  • 页面总数:0
  • 分类总数:8
  • 标签总数:815
  • 评论总数:116
  • 浏览总数:3896