Spring Cloud服务发现/注册(二)

简介: Eureka Server即是注册服务器,也是客户端,默认情况,也需要配置注册中心地区。所以要添加配置 spring.application.name=spring-cloud-eureka-server ##服务器端口 server.

注意:我的项目引入的是jdk1.8.131,spring boot使用的是1.5.19.RELEASE


Eureka Server即是注册服务器,也是客户端,默认情况,也需要配置注册中心地区。
所以要添加配置
spring.application.name=spring-cloud-eureka-server
##服务器端口
server.port=9090
##管理端口安全失效
management.security.enabled=false
##Spring Cloud Eureka服务器作为注册中心
##通常情况下,不需要在注册到其他注册中心去
##同时,它也不需要获取客户端信息
###取消向注册中心注册
eureka.client.register-with-eureka=false
###取消向注册中心获取注册信息(服务、实例信息)
eureka.client.fetch-registry=false

客户端:Eureka Client

  • 调整状态页面
    配置:eureka.instance.statusPageUrlPath
  • 调整健康检查页面
    配置:eureka.instance.healthCheckUrlPath
  • 调整主页

调整状态页面和健康检查页面

客户端


##客户端应用名称
spring.application.name=spring-cloud-eureka-client
##客户端端口
server.port=8080
##管理端口安全失效
management.security.enabled=false
##Spring Cloud Eureka客户端 注册到服务器
eureka.client.serviceUrl.defaultZone=http://localhost:9090/eureka

##调整状态页面
eureka.instance.status-page-url-path=/status
##调整健康检查页面
eureka.instance.health-check-url-path=/health

然后创建一个跳转页面

package com.example.springcloudlesson4eurekaclient.web;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 状态控制器
 */
@RestController
public class StatusController {
    @GetMapping("/status")
    public String status() {
        return "ok";
    }

}

客户端:Eureka Client

  • Eureka 客户端配置API
    EurekaClientConfigBean
  • Eureka实例配置API
    EurekaInstanceConfigBean

Spring Cloud Config与eureka整合

调整Spring Cloud Config Server作为Eureka客户端

1.引入Maven依赖

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

2.激活Eureka客户端

package com.example.springcloudlesson4eurekaclient;

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

@SpringBootApplication
@EnableEurekaClient
public class SpringCloudLesson4EurekaClientApplication {

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

}

3.调整Spring Cloud Config Server配置


##配置服务器应用名称
spring.application.name= spring-cloud-config-server
##配置服务器端口
server.port=7070
##关闭管理端actuator的安全
##/env/health的端口完全开放
management.security.enabled=false

##配置服务器文件系统Git仓库
##${user.dir}减少平台文件系统的不一致
#spring.cloud.config.server.git.uri=${user.dir}/src/main/resources/configs

##配置远程github仓库
spring.cloud.config.server.git.uri=https://github.com/shuaiyev5/tmp
##配置强制拉取git内容
spring.cloud.config.server.git.force-pull=true
##Spring Cloud config server 注册到eureka服务器
eureka.client.serviceUrl.defaultZone=http://localhost:9090/eureka

调整spring-cloud-eureka-client称为Config客户端

1.引入spring-cloud-starter-config-client Maven依赖

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

2.在eureka client下创建bootstrap.properties

spring.cloud.config.name=segmentfault
spring.cloud.config.profile=prod
spring.cloud.config.label=master
##配置Config服务器发现激活
spring.cloud.config.discovery.enabled=true
##配置Config服务器的应用名称(Service ID)
spring.cloud.config.discovery.serviceId=spring-cloud-config-server

检验效果

启动发现,spring-cloud-config-server服务无法找到,原因如下:

##注意:当前应用需要提起啊获取应用信息,那么将Eureka的配置信息提前至bootstrap.properties文件
##原因:bootstrap上下文是spring Boot 上下文的父上下文,那么它最先加载,因此需要最优先加载Eureka注册信息

调整后bootstrap.properties的配置

##注意:当前应用需要提起啊获取应用信息,那么将Eureka的配置信息提前至bootstrap.properties文件
##原因:bootstrap上下文是spring Boot 上下文的父上下文,那么它最先加载,因此需要最优先加载Eureka注册信息
eureka.client.serviceUrl.defaultZone=http://localhost:9090/eureka
spring.cloud.config.name=segmentfault
spring.cloud.config.profile=prod
spring.cloud.config.label=master
##配置Config服务器发现激活
spring.cloud.config.discovery.enabled=true
##配置Config服务器的应用名称(Service ID)
spring.cloud.config.discovery.serviceId=spring-cloud-config-server

然后浏览器访问localhost:8080/env 出现服务器的git地址即为成功
b1

eureka Client可以通过Eureka Server间接访问Config Server,这样的好处是不用绑死一个ip

目录
相关文章
|
1月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
46 0
|
1月前
|
SpringCloudAlibaba 负载均衡 Java
【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)
【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)
245 1
【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)
|
29天前
|
负载均衡 Java API
Spring Cloud 面试题及答案整理,最新面试题
Spring Cloud 面试题及答案整理,最新面试题
131 1
|
29天前
|
Java Nacos Sentinel
Spring Cloud Alibaba 面试题及答案整理,最新面试题
Spring Cloud Alibaba 面试题及答案整理,最新面试题
136 0
|
30天前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
130 0
|
30天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
81 0
|
1月前
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
401 0
|
2天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
2天前
|
Java API 对象存储
对象存储OSS产品常见问题之使用Spring Cloud Alibaba情况下文档添加水印如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
22 2
|
17天前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。

热门文章

最新文章