`
liujiekasini0312
  • 浏览: 147492 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring cloud 微服务框架 第三天

 
阅读更多

第三天,关注服务注册与发现,本文涉及到的项目:

  服务注册管理器原理如下图所示:

  所有的服务端及访问服务的客户端都需要连接到注册管理器(eureka服务器)。服务在启动时会自动注册自己到eureka服务器,每一个服务都有一个名字,这个名字会被注册到eureka服务器。使用服务的一方只需要使用该名字加上方法名就可以调用到服务。

  Spring cloud的服务注册及发现,不仅仅只有eureka,还支持Zookeeper和Consul。默认情况下是eureka,spring 封装了eureka,使其非常简单易用,只需要比传统应用增加一行代码就可以使用了,这一行代码就是一个注解。我们按以下步骤实现服务注册和发现功能。

  1)首选需要建立eureka服务器

  创建spring cloud eureka服务器和创建之前那个配置文件服务器类似,你只需要创建一个空的maven工程,并引入spring boot的相关starter即可,然后创建一个近乎空的执行类,工程如下图:

  在EurekaServer类中我们加入如下代码:

  @SpringBootApplication

  @EnableEurekaServer

  public class EurekaServer {

    public static void main(String[] args) {

    SpringApplication.run(EurekaServer.class, args);

  }

  }

  可以看到只需要使用@EnableEurekaServer注解就可以让应用变为Eureka服务器,这是因为spring boot封装了Eureka Server,让你可以嵌入到应用中直接使用。至于真正的EurekaServer是Netflix公司的开源项目,也是可以单独下载使用的。

  在application.properties配置文件中使用如下配置:

  server.port=8761

  eureka.instance.hostname=localhost

  eureka.client.registerWithEureka=false

  eureka.client.fetchRegistry=false

  eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

  其中server.port配置eureka服务器端口号。Eureka的配置属性都在开源项目spring-cloud-netflix-master中定义(spring boot连文档都没有,只能看源码了),在这个项目中有两个类EurekaInstanceConfigBeanEurekaClientConfigBean,分别含有eureka.instance和eureka.client相关属性的解释和定义。从中可以看到,registerWithEureka表示是否注册自身到eureka服务器,因为当前这个应用就是eureka服务器,没必要注册自身,所以这里是false。fetchRegistry表示是否从eureka服务器获取注册信息,同上,这里不需要。defaultZone就比较重要了,是设置eureka服务器所在的地址,查询服务和注册服务都需要依赖这个地址。

  做完这些后当然,还要改一下pom文件,增加eureka-server的starter即可:

  <dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka-server</artifactId>

  </dependency>

  如此eureka服务器就完成了,在命令行启动就可以了。

  2)让服务使用eureka服务器

  让服务使用eureka服务器,只需添加@EnableDiscoveryClient注解就可以了。回到我们在上篇文章中实现的cloud-simple-service微服务应用。在main方法所在的Application类中,添加@EnableDiscoveryClient注解。然后在配置文件中添加:

  eureka.client.serviceUrl.defaultZone=http\://localhost\:8761/eureka/

  spring.application.name=cloud-simple-service

  其中defaultZone是指定eureka服务器的地址,无论是注册还是发现服务都需要这个地址。application.name是指定进行服务注册时该服务的名称。这个名称就是后面调用服务时的服务标识符(这是服务发现的功能,我们在后面章节具体介绍)。当然,pom文件也需要增加:

  <dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-eureka</artifactId>

  </dependency>

  如此以来该服务启动后会自动注册到eureka服务器。如果在该服务中还需要调用别的服务,那么直接使用那个服务的服务名称加方法名构成的url即可,具体我们将在下章结合ui端的应用具体介绍。

分类:spring cloud
分享到:
评论

相关推荐

    Spring Cloud微服务架构实战-视频教程网盘链接提取码下载 .txt

    本门课程围绕电商项目大觅网的业务场景,基于微服务原则设计电商项目,使用多种诸如Eureka、Feign、Hystrix、Ribbon、Zuul、Config等技术,另外基于虚拟化技术Docker+Jenkins实现程序自动发布、基于Mycat实现第三方...

    spring cloud 微服务简单框架

    6. **Spring Cloud Hystrix**:Hystrix 是一个延迟和容错库,用于隔离访问远程服务、第三方库,防止级联失败,增加系统的弹性。在微服务架构中,当一个服务不可用时,Hystrix 可以提供降级策略,保证系统的稳定。 7...

    Springcloud微服务框架.docx

    【SpringCloud微服务框架】 SpringCloud 是一套完整的微服务解决方案,它提供了服务发现、负载均衡、熔断机制、路由网关等一系列工具,帮助开发者构建分布式系统。本文将深入探讨SpringCloud中的服务调用原理、负载...

    SpringCloud第3季2024.7z

    SpringCloud是微服务架构中的一个核心框架,它提供了一套完整的解决方案,用于构建分布式系统,如服务发现、负载均衡、断路器、API网关、数据流处理等。本资源"SpringCloud第3季2024.7z"很可能包含的是关于Spring...

    从天气项目看Spring Cloud微服务治理

    ### 从天气项目看Spring Cloud微服务治理 #### Spring Cloud简介 Spring Cloud 是一套基于 Spring Boot 实现的微服务云应用开发框架,它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如...

    Java之 Spring Cloud 微服务搭建网关(第三个阶段)【一】.zip

    在本教程中,我们将深入探讨如何使用Spring Cloud构建微服务网关,这是Spring Cloud生态中的一个关键组件。Spring Cloud提供了一套工具集,用于简化分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、...

    《深入理解Spring Cloud与微服务构建》word版本

    Spring Cloud作为目前最流行的微服务框架之一,它提供了大量的工具和服务,帮助开发者快速搭建分布式系统。该书可能涵盖了以下几个核心知识点: 1. **Spring Cloud简介**:Spring Cloud是基于Spring Boot的云应用...

    SpringCloud微服务接口查询Demo

    在"SpringCloud微服务接口查询Demo"中,我们主要探讨的是如何利用SpringCloud来实现微服务之间的接口查询和交互,以便更好地理解和监控服务的运行状态。 1. **服务注册与发现**: SpringCloud的核心组件之一是...

    尚硅谷周阳老师SpringCloud笔记

    SpringCloud作为微服务架构的重要框架,广泛应用于现代企业的分布式系统开发中。这份笔记旨在帮助开发者理解和掌握SpringCloud的核心概念、组件以及实践方法。 在SpringCloud的学习中,首先需要了解的是SpringCloud...

    基于Spring Cloud微服务框架的在线考试系统,前后端分离,前端采用Vue技术搭建。.zip

    第三,毕业设计的撰写是整个过程的重要组成部分。学生需要将研究过程、方法、结果以及结论等详细记录在毕业论文中,以展示其研究的全貌和成果。同时,撰写毕业设计还有助于提高学生的学术写作水平,培养清晰、逻辑的...

    《springcloud微服务实战》知识点评估试题.docx

    根据给定文件的信息,我们可以总结出以下几个与Spring Cloud微服务框架相关的知识点: ### 1. 服务熔断 **服务熔断**是一种重要的微服务架构中的保护机制,它主要用于防止因某一服务出现故障而导致整个系统崩溃的...

    基于layui+springcloud的企业级微服务框架

    仿百度能力开放平台的spring cloud 微服务框架 ,历经多家公司生产考验 1.用户权限 基于spring security jwt 的无session后台管理框架 2.注册中心 基于eureka的服务注册中心 提供动态上线下线功能 3 配置中心 集成...

    Spring Cloud微服务事务处理Demo

    在这个"Spring Cloud微服务事务处理Demo"中,我们将探讨如何在微服务环境中解决事务一致性问题。 首先,我们来看核心组件——Spring Boot。Spring Boot是基于Spring Framework的快速开发框架,它简化了Spring应用...

    《深入理解Spring Cloud与微服务构建》学习笔记(八)

    在《深入理解Spring Cloud与微服务构建》的学习笔记中,第八部分主要聚焦于如何使用Eureka来实现服务注册和发现。以下是一些核心知识点: 1. **Eureka Server**: 这是Eureka的核心组件,作为一个服务注册中心,它...

    基于SpringCloud的微服务实战案例-基于Dubbo的微服务开发基础框架

    #### 一、SpringCloud微服务实战案例—simplemall 在现代软件开发领域,微服务架构因其高灵活性、易于扩展和独立部署等优势而备受青睐。其中,Spring Cloud作为构建微服务应用的一整套解决方案,更是得到了广泛的...

    SpringCloud微服务之Gateway使用教程.zip

    SpringCloud微服务框架中的Gateway是现代微服务架构中不可或缺的一部分,它作为一个API网关,承担着请求分发、路由管理、过滤器处理等关键任务。本教程将详细讲解如何使用Spring Cloud Gateway,以及它相较于其他如...

    Spring Cloud 微服务框架实战项目,含多版本教程及多种组件功能实现.zip

    2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; ...

    spring cloud 体系版本选型,涉及spring cloud alibaba spring boot spring cloud

    Spring Cloud作为一个广泛使用的微服务框架,其版本迭代迅速,每个版本都有其特定的功能特性和生命周期。以下将详细阐述如何进行Spring Cloud、Spring Boot以及Spring Cloud Alibaba的版本选型。 首先,让我们来看...

    本系统是一个SpringCloud微服务中后台管理系统,前端基于VUE3和ElementPlus实现.zip

    本系统是一个SpringCloud微服务中后台管理系统,前端基于VUE3和ElementPlus实现,开发SpringCloud系列微服务的架构解决方案,并且集成了Oauth2.0单点登录,支持手机验证码,微信小程序等第三方登录授权,后续会集成...

    基于SpringCloud微服务技术开发的“淘东”电商项目--taodong-shop.zip

    "基于SpringCloud微服务技术开发的“淘东”电商项目--taodong-shop"是一个全面展示微服务架构在电商领域应用的实际案例。SpringCloud作为Java生态中的微服务框架,为大型分布式应用程序提供了全面的服务发现、配置...

Global site tag (gtag.js) - Google Analytics