springcloud入门1(服务的注册与发现)

简介: 1、Eureka服务器    基础架构:        服务注册中心:Eureka提供的服务端,提供服务注册与发现功能        服务提供者:提供服务的应用,可以是spring boot应用,也可以是其他技术平台的应用只要遵循Eureka通讯...

1、Eureka服务器

    基础架构:

        服务注册中心:Eureka提供的服务端,提供服务注册与发现功能

        服务提供者:提供服务的应用,可以是spring boot应用,也可以是其他技术平台的应用只要遵循Eureka通讯机制的应用,

        服务消费者:消费者从服务注册中心获取服务列表,从而是消费者可以知道去何处调用所需要的服务

    服务治理机制:    

img_95abf08eba9abd410a8bde3a9e2ab134.png
图1-1

     服务提供者

        服务注册:服务提供者会在启动的时候发送REST请求的方式将自己注册到Eureka服务器中,同时带上了自身的一些元数据信息,Eureka服务将元数据信息存储到一个双层Map中,第一层的key是服务名,第二层的key具体的服务的实例名字,服务注册的时候需要确认一下eureka.client.register-with-eureka=true参数是否正确,这个参数为false时,不会启动注册操作。

        服务同步:如图1-1所示,服务提供者会在不同的Eureka服务器中注册1或者2中,两个Eureka服务器会互相注册为服务,其中一个获取到服务的注册中心,他会请求转发到集群中的其他的Eureka中,实现服务的同步,

        服务续约:注册完服务之后,服务提供者会维护一个特别的心跳告诉注册中不要把它剔除,这个操作称之为续约,其中有两个重要的参数

    eureka.instance.lease-renewal-interval-in-seconds=30     续约时间默认为30s

     eureka.instance.lease-expiration-duration-in-seconds=90     注册中心服务失效时间默认为90s

    服务消费者

        获取服务:Eureka会维护一份只读的服务清单返回给客户端,同时缓存清单会每隔30s更新一次

    eureka.client.fetch-registry=true        获取服务时候,这个参数必须为true

    erueka.client.registry-fetch-interval-seconds=30     这个参数更改更新时间

        服务调用:通过服务名字可以获取到具体提供服务的实例名和该实例的元信息,客户端可以根据自己的需要进行调用,或者采用Ribbon,进行均衡负载的方式调用。

        服务下线:系统运行过程中关闭某个服务或者重启某个服务,服务正常关闭的时候,会触发一个服务下线的请求发送给Eureka,

    服务注册中心

        失效剔除:注册的服务非正常下线时,Eureka会每隔60s(默认),将超市超时未续约的服务进行剔除

        自我保护:

        eureka.server.enable-self-preservation=false,关闭保护机制,以确保注册中心可以将不可用的实例正确剔除

    Eureka配置

客户端配置主要分两个方面:

    1、服务注册相关的配置信息,包括服务注册中心的地址、服务获取的时间间隔、可用区域等。

    2、服务实例相关的配置信息,包括服务实例的名称、ip地址、端口号、健康检查路径等。

相关文章
|
2月前
|
存储 数据可视化 Java
基于MicrometerTracing门面和Zipkin实现集成springcloud2023的服务追踪
Sleuth将会停止维护,Sleuth最新版本也只支持springboot2。作为替代可以使用MicrometerTracing在微服务中作为服务追踪的工具。
158 1
|
4天前
|
SpringCloudAlibaba Dubbo Java
【SpringCloud Alibaba系列】Dubbo基础入门篇
Dubbo是一款高性能、轻量级的开源Java RPC框架,提供面向接口代理的高性能RPC调用、智能负载均衡、服务自动注册和发现、运行期流量调度、可视化服务治理和运维等功能。
【SpringCloud Alibaba系列】Dubbo基础入门篇
|
4月前
|
缓存 NoSQL Java
【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务
【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务
|
27天前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
89 5
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
65 3
|
2月前
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。
|
3月前
|
消息中间件 存储 Java
SpringCloud基础9——服务异步通信-高级篇
消息可靠性、死信交换机、惰性队列、MQ集群
SpringCloud基础9——服务异步通信-高级篇
|
3月前
|
Java API 对象存储
微服务魔法启动!Spring Cloud与Netflix OSS联手,零基础也能创造服务奇迹!
这段内容介绍了如何使用Spring Cloud和Netflix OSS构建微服务架构。首先,基于Spring Boot创建项目并添加Spring Cloud依赖项。接着配置Eureka服务器实现服务发现,然后创建REST控制器作为API入口。为提高服务稳定性,利用Hystrix实现断路器模式。最后,在启动类中启用Eureka客户端功能。此外,还可集成其他Netflix OSS组件以增强系统功能。通过这些步骤,开发者可以更高效地构建稳定且可扩展的微服务系统。
67 1
|
2月前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
62 0
|
4月前
|
Java Spring
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.