注册中心(环境隔离、分级模型、Eureka)、远程调用负载均衡、服务保护原理分析

一、注册中心------环境隔离

nacos提供了一个默认的namespace,叫做public

我们可以通过以下方法创建自己的namespace:

添加完成后,可以在页面看到我们新建的namespace,并且Nacos为我们自动生成了一个命名空间id:

默认情况下,所有的微服务注册发现、配置管理都是走public这个命名空间。如果要指定命名空间则需要修改application.yml文件。

比如,我们修改item-service服务的bootstrap.yml文件,添加服务发现配置,指定其namespace

TypeScript 复制代码
spring:
  application:
    name: item-service # 服务名称
  profiles:
    active: dev
  cloud:
    nacos:
      server-addr: 192.168.150.101 # nacos地址
      discovery: # 服务发现配置
        namespace: 8c468c63-b650-48da-a632-311c75e6d235 # 设置namespace,必须用id
      # 。。。略

二、服务分级模型:

因此,结合我们上一节学习的namespace命名空间的知识,任何一个微服务的实例在注册到Nacos时,都会生成以下几个信息,用来确认当前实例的身份,从外到内依次是:

  • namespace:命名空间

  • group:分组

  • service:服务名

  • cluster:集群

  • instance:实例,包含ip和端口

这就是nacos中的服务分级模型。

在Nacos内部会有一个服务实例的注册表,是基于Map实现的,其结构与分级模型的对应关系如下:

三、Eureka与Nacos

四、远程调用-源码跟踪及负载均衡原理

切换负载均衡算法:

五、服务保护

线程隔离:

滑动窗口算法:

漏桶算法:

令牌桶算法:

相关推荐
fanly1111 小时前
Surging AI Agent:基于.NET 生态一站式本地大模型 + 向量检索微服务解决方案
微服务·.net core·microservice
道影子21 小时前
阴阳引力多维基元:超越二进制的计算革命
人工智能·深度学习·微服务·云原生·架构
Ulyanov2 天前
Python雷达电子对抗仿真引擎(一):打破单体瓶颈,构建微服务与ECS架构的顶层设计
开发语言·python·微服务·云原生·架构·雷达电子对抗
REST_30273 天前
告别Excel孤岛:一款任务链路可视化工具带来的真实改变
大数据·微服务·云计算·编辑器·excel·动态规划
beibeix20153 天前
CppMicroServices 核心概念:动态服务注册与模块化系统
微服务·mitk
微三云 - 廖会灵 (私域系统开发)3 天前
电商系统从单体到微服务拆分实践:拆什么、怎么拆、拆完后怎么办
微服务·云原生·架构
guslegend3 天前
领域驱动设计,微服务设计为什么要选择DDD?
微服务·云原生·架构
VortMall3 天前
全维度打磨细节体验,赋能商城稳定有序运营|VortMall 微服务商城 v1.3.11 版本发布
java·微服务·云原生·架构·商城系统·开源商城·vortmall
豆瓣鸡4 天前
Guava RateLimiter 限流实战:从令牌桶原理到 Nacos 动态配置
spring boot·微服务·nacos·guava
Wang's Blog5 天前
Go-Zero项目开发10: 微服务治理中心实现原理分析
开发语言·微服务·golang