SpringCloud Alibaba核心组件Nacos【服务多级存储模型&配置集群】第2章(上)

简介: SpringCloud Alibaba核心组件Nacos【服务多级存储模型&配置集群】第2章

1,服务分级存储模型


这个服务分级存储模型概念听起来很高级,下面咱们仔细分析一波!!!


1.1:nacos分级存储是什么

服务:之前有服务的概念,之前有user-service 用户服务,和order-service的订单服务,这些都称之为服务。


问题出现:


一个服务可以包含多个实例,不过随着业务规模越来越大那么我们就会考虑更多的问题,比如说你把所有的实例都部署在一个机房,就像鸡蛋放在篮子里面,哪天篮子打翻了,鸡蛋不也就完了,由小比大,把多个实例都放在一个机房,万一机房失火了,断电了,等等因素导致机房罢工了,那么全部的实例都停止,这个服务不也就挂机了嘛!


解决问题:


为了解决这个问题,我们会将多个实例部署到多个机房,像阿里,京东,这些有钱了,在北京,上海等等几个地方布置几个机房分配几个实例过去,就算一个地方的机房挂机了,我还有好几个机房正常进行。


而我们nacos分级存储模型就是引入了这样一个机房或者说地域的概念


为此也部署了多个实例,像8081,8082,8083,等等,便于下文演示

6fa8d9c632524242b56bdeae956ed36f.png


1.2:什么又是集群

而什么又是集群呢!如下图,在上海部署了两个实例,在杭州部署有两个实例,而nacos把同在一个机房中的多个实例称之为:集群,在杭州那就被称之为杭州的user-service集群,在北京的就称之为北京的user-service集群。


所以在nacos的分级模型中,一级是服务,二级是集群,三级是实例


42c4bebbfc974ba288bfb3cf697c9c2c.png


50fa779bf09540608a925522ed8a36bf.png


1.3:为什么nacos 要引入这么一个服务分级

那么问题有来了,为什么nacos 要引入这么一个服务分级?为什么非要多加个集群的概念,我直接服务找实例不好嘛?


比方说有个杭州机房,里面有user-service集群,order-service集群,在上海,北京的机房中也同样有这种配置,现在order-service需要访问user-service,那么现在有两种方式访问:第一种访问本地局域网的,另外一种访问,上海或者北京的机房的user-service,那肯定选本地集群,因为局域网内的访问呢!速度快,延迟低,而跨越集群的访问比如访问上海的集群,那肯定延迟就要高了。


所以用集群的方式,把上海的实例,归纳为上海集群,把北京的实例,归纳为北京集群,优先访问同一个集群中的实例


6223ea324680491eb2bf370a14c1ab84.png


杭州机房内的order-service应该优先访问同机房的user-service。


nacos引入这个分级概念就是为了防止跨集群进行访问或者说是尽可能的避免


1.3.1:服务跨集群调用问题


微服务互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快。当本集群内不可用时,才访问其它集群。

相关文章
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
Dubbo Cloud Native 应用服务中间件
阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。
在云原生时代,微服务架构成为主流。阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。示例代码展示了如何在项目中实现两者的整合,通过 Nacos 动态调整服务状态和配置,适应多变的业务需求。
555 2
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
数据管理 Nacos 开发者
"Nacos架构深度解析:一篇文章带你掌握业务层四大核心功能,服务注册、配置管理、元数据与健康检查一网打尽!"
【10月更文挑战第23天】Nacos 是一个用于服务注册发现和配置管理的平台,支持动态服务发现、配置管理、元数据管理和健康检查。其业务层包括服务注册与发现、配置管理、元数据管理和健康检查四大核心功能。通过示例代码展示了如何在业务层中使用Nacos,帮助开发者构建高可用、动态扩展的微服务生态系统。
500 0
|
SQL 关系型数据库 数据库连接
"Nacos 2.1.0版本数据库配置写入难题破解攻略:一步步教你排查连接、权限和配置问题,重启服务轻松解决!"
【10月更文挑战第23天】在使用Nacos 2.1.0版本时,可能会遇到无法将配置信息写入数据库的问题。本文将引导你逐步解决这一问题,包括检查数据库连接、用户权限、Nacos配置文件,并提供示例代码和详细步骤。通过这些方法,你可以有效解决配置写入失败的问题。
906 0
|
Kubernetes Nacos 微服务
【技术难题破解】Nacos v2.2.3 + K8s 微服务注册:强制删除 Pod 却不消失?!7步排查法+实战代码,手把手教你解决Nacos Pod僵死问题,让服务瞬间满血复活!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但有时会遇到“v2.2.3 k8s 微服务注册nacos强制删除 pod不消失”的问题。本文介绍此现象及其解决方法,帮助开发者确保服务稳定运行。首先需检查Pod状态与事件、配置文件及Nacos配置,确认无误后可调整Pod生命周期管理,并检查Kubernetes版本兼容性。若问题持续,考虑使用Finalizers、审查Nacos日志或借助Kubernetes诊断工具。必要时,可尝试手动强制删除Pod。通过系统排查,通常能有效解决此问题。
620 0
|
Java Nacos 开发工具
【Nacos】心跳断了怎么办?!8步排查法+实战代码,手把手教你解决Nacos客户端不发送心跳检测问题,让服务瞬间恢复活力!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心。然而,“客户端不发送心跳检测”的问题时有发生,可能导致服务实例被视为离线。本文介绍如何排查此类问题:确认Nacos服务器地址配置正确;检查网络连通性;查看客户端日志;确保Nacos SDK版本兼容;调整心跳检测策略;验证服务实例注册状态;必要时重启应用;检查影响行为的环境变量。通过这些步骤,通常可定位并解决问题,保障服务稳定运行。
1108 0
|
12月前
|
存储 Kubernetes 安全
Nacos-Controller 2.0:使用 Nacos 高效管理你的 K8s 配置
无论是使用 Nacos-Controller 实现配置的双向同步,还是直接在应用中接入 Nacos SDK 以获得更高级的配置管理特性,都能显著提升配置管理的灵活性、安全性和可维护性。使用 Nacos,您能够更好地管理和优化您的应用配置,从而提高系统的稳定性和可靠性。
949 50
|
存储 网络协议 Nacos
高效搭建Nacos:实现微服务的服务注册与配置中心
Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它旨在帮助开发者更轻松地构建、部署和管理分布式系统,特别是在微服务架构中。
2414 81
高效搭建Nacos:实现微服务的服务注册与配置中心
|
JSON Java Nacos
SpringCloud 应用 Nacos 配置中心注解
在 Spring Cloud 应用中可以非常低成本地集成 Nacos 实现配置动态刷新,在应用程序代码中通过 Spring 官方的注解 @Value 和 @ConfigurationProperties,引用 Spring enviroment 上下文中的属性值,这种用法的最大优点是无代码层面侵入性,但也存在诸多限制,为了解决问题,提升应用接入 Nacos 配置中心的易用性,Spring Cloud Alibaba 发布一套全新的 Nacos 配置中心的注解。
1629 140

热门文章

最新文章