服务注册与发现

简介: 每次都去请求一次服务地址,大大的降低的效率,所以需要一个机制去更新这些地址。

服务注册与发现


传统单体架构与分布式架构




单体架构的不足:


所有的服务都集中在一个应用中,一个服务出错,可能导致整个系统宕机

随着用户越来越多,程序承受的并发越来越高,单体应用的并发能力有限。

数据库瓶颈,大量读写操作会直接干死数据库。

分布式架构服务之间调用问题

采用restTemplate或者httpClient等远程调用工具,直接写死服务地址。

直接写死地址,请求永远都只会打到一台服务器,如果提供服务是集群模式,提供服务的只有一台机器

这是可以在集群的机器上加上负载地址来解决直接写死地址的问题。

当集群增加一台机器时,则需要对负载配置更改。

当服务越来越多的时候,服务之间的调用越来约复杂,此时,则需要一个东西用来解决服务的注册问题,将所有服务集中管理。


服务注册与发现理论

如A服务有多台机器,则通过注册中心,将所有的服务注册到注册中心,注册中心维护一张注册表。


当B服务想要调用A服务时,通过注册中心拉取注册表信息,通过负载算法获取一台存活的A服务机器,调用A服务。


当A服务有变动时,


当新增A服务时,通过给注册中心注册服务,注册中心实时更新注册表信息


当减少A服务时,注册中心通过一个健康检查机制更改注册中心注册表信息。


可实时更改A服务可提供服务的数量,地址等信息


关于健康检测机制:

每个服务都会开启一个定时任务,定期向服务注册中心发送一个心跳请求。如果超过指定时间没有发送到服务注册中心,则注册中心会认为这个服务暂时不可用。


二次确认,当服务暂时不可用之后,设定一个时间,如果这个时间内,这个服务还未有心跳请求,则注册中心会认为该服务挂掉了。则从注册表中删除该服务。


服务每次调用之前是否都需要向注册中心拉取可用服务

每次都去请求一次服务地址,大大的降低的效率,所以需要一个机制去更新这些地址。


每个服务都应该有一个调用服务的缓存列表,将所有的服务都缓存起来。每次调用之前从本地缓存中通过负载均衡获取一个服务调用。


常见注册中心


image.png

目录
相关文章
|
人工智能 IDE Java
全面开测:AI智能编码辅助工具通义灵码
全面开测:AI智能编码辅助工具通义灵码
64853 7
全面开测:AI智能编码辅助工具通义灵码
|
存储 缓存 开发工具
ZYNQ-双核AMP通信(一)
ZYNQ-双核AMP通信(一)
2255 0
ZYNQ-双核AMP通信(一)
|
6月前
|
缓存 异构计算
LLM 内存需求计算方式
GPU上大语言模型的内存主要由模型权重和KV缓存构成。70亿参数模型以16位精度加载时,权重占约14GB;KV缓存则随批大小和序列长度线性增长,显著影响显存使用,限制推理吞吐与长上下文处理。
625 11
|
7月前
|
SQL 算法 Java
适合自学的史上最强 Java 学习路线图分享
本路线图系统讲解Java从入门到进阶的学习路径,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架如Spring、数据库操作及项目实战,助你全面掌握Java开发技能,适合零基础及进阶学习。
1263 0
|
存储 API 文件存储
对象存储、块存储、文件存储他们都有什么不通的作用?
对象存储、块存储、文件存储他们都有什么不通的作用?
1182 0
|
人工智能 自然语言处理 负载均衡
评测|零门槛,即刻拥有DeepSeek-R1满血版
DeepSeek是阿里云推出的一款强大的推理模型,尤其擅长处理数学、代码和自然语言等复杂任务。其在少量标注数据下显著提升推理能力,吸引了众多开发者关注。阿里云提供的零门槛、即刻拥有的DeepSeek-R1满血版解决方案,支持便捷的云上调用和部署,无需编码,最快5分钟、最低0元即可部署实现。该方案具备负载均衡和自动扩缩容机制,保障API调用稳定性,并提供Chatbox可视化界面简化调用流程,极大降低了使用门槛和成本,适合新手和企业用户快速上手。
1583 1
评测|零门槛,即刻拥有DeepSeek-R1满血版
|
Java
《阿里巴巴Java开发规约》插件使用详细指南
阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件。今天就为大家详细介绍一下IDEA插件与Eclipse插件的安装使用。
18635 2
《阿里巴巴Java开发规约》插件使用详细指南
|
数据采集 DataWorks 监控
《打破壁垒:DataWorks ETL与AI算法的深度融合变革》
在数字化时代,数据成为企业发展的核心驱动力。DataWorks作为强大的大数据开发治理平台,其ETL流程与人工智能算法的融合,显著提升了数据处理效能。传统ETL依赖预设规则,面对海量复杂数据时效率低下且易出错。而人工智能赋能的ETL实现了智能数据抽取、自适应数据转换和实时数据质量监控,极大提高了数据处理的准确性和灵活性。以电商企业为例,融合后的系统加速了数据接入、优化用户分类与推荐,并通过实时监控避免决策失误,显著提升客户满意度和销售额。这一变革助力企业在激烈竞争中实现数字化转型与创新。
234 1
|
关系型数据库 数据库 数据安全/隐私保护
云数据库实战:基于阿里云RDS的Python应用开发与优化
在互联网时代,数据驱动的应用已成为企业竞争力的核心。阿里云RDS为开发者提供稳定高效的数据库托管服务,支持多种数据库引擎,具备自动化管理、高可用性和弹性扩展等优势。本文通过Python应用案例,从零开始搭建基于阿里云RDS的数据库应用,详细演示连接、CRUD操作及性能优化与安全管理实践,帮助读者快速上手并提升应用性能。
|
运维 Kubernetes 数据可视化
【Docker管理工具】使用Docker部署portainer-ce管理工具
【7月更文挑战第22天】使用Docker部署portainer-ce管理工具
2128 3
【Docker管理工具】使用Docker部署portainer-ce管理工具

热门文章

最新文章

下一篇
开通oss服务