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地址、端口号、健康检查路径等。

相关文章
|
人工智能 Java Serverless
【MCP教程系列】搭建基于 Spring AI 的 SSE 模式 MCP 服务并自定义部署至阿里云百炼
本文详细介绍了如何基于Spring AI搭建支持SSE模式的MCP服务,并成功集成至阿里云百炼大模型平台。通过四个步骤实现从零到Agent的构建,包括项目创建、工具开发、服务测试与部署。文章还提供了具体代码示例和操作截图,帮助读者快速上手。最终,将自定义SSE MCP服务集成到百炼平台,完成智能体应用的创建与测试。适合希望了解SSE实时交互及大模型集成的开发者参考。
9616 60
|
3月前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
|
12月前
|
存储 数据可视化 Java
基于MicrometerTracing门面和Zipkin实现集成springcloud2023的服务追踪
Sleuth将会停止维护,Sleuth最新版本也只支持springboot2。作为替代可以使用MicrometerTracing在微服务中作为服务追踪的工具。
508 2
|
7月前
|
人工智能 自然语言处理 Java
对话即服务:Spring Boot整合MCP让你的CRUD系统秒变AI助手
本文介绍了如何通过Model Context Protocol (MCP) 协议将传统Spring Boot服务改造为支持AI交互的智能系统。MCP作为“万能适配器”,让AI以统一方式与多种服务和数据源交互,降低开发复杂度。文章以图书管理服务为例,详细说明了引入依赖、配置MCP服务器、改造服务方法(注解方式或函数Bean方式)及接口测试的全流程。最终实现用户通过自然语言查询数据库的功能,展示了MCP在简化AI集成、提升系统易用性方面的价值。未来,“对话即服务”有望成为主流开发范式。
5205 7
|
7月前
|
负载均衡 Dubbo Java
Spring Cloud Alibaba与Spring Cloud区别和联系?
Spring Cloud Alibaba与Spring Cloud区别和联系?
|
8月前
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
3019 14
|
8月前
|
前端开发 Java Nacos
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
本文介绍了如何使用Spring Cloud Alibaba 2023.0.0.0技术栈构建微服务网关,以应对微服务架构中流量治理与安全管控的复杂性。通过一个包含鉴权服务、文件服务和主服务的项目,详细讲解了网关的整合与功能开发。首先,通过统一路由配置,将所有请求集中到网关进行管理;其次,实现了限流防刷功能,防止恶意刷接口;最后,添加了登录鉴权机制,确保用户身份验证。整个过程结合Nacos注册中心,确保服务注册与配置管理的高效性。通过这些实践,帮助开发者更好地理解和应用微服务网关。
1243 0
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
|
8月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
401 7
|
10月前
|
SpringCloudAlibaba Dubbo Java
【SpringCloud Alibaba系列】Dubbo基础入门篇
Dubbo是一款高性能、轻量级的开源Java RPC框架,提供面向接口代理的高性能RPC调用、智能负载均衡、服务自动注册和发现、运行期流量调度、可视化服务治理和运维等功能。
【SpringCloud Alibaba系列】Dubbo基础入门篇