Cookie1122# 2023-04-11 21:29 采纳率: 36.4%
浏览 22
已结题

有关微服务的理解的问题

APP/Browser,Gateway,用户中心,内容中心,Ribbon,Nacos是如何相互调用及配合的?

用户中心,内容中心分别有自己的服务,内容中心的一些业务需要调用用户中心

感觉用户中心,内容中心有的时候是服务提供者,有的时候是服务消费者,对整个的过程不理解

只知道Nacos可以实现注册中心,配置中心;Ribbon可以实现负载均衡,Gateway实现服务网关,常见的基于HTTP协议的服务调用有HttpUrlConnection,RestTemplate,OpenFeign。

除了不理解整体的过程和关系外,还不理解Nacos和用户中心之间的交互,注册的是什么?拉取的又是什么?在加载ApplicationContext之前将服务名称,端口号,服务地址,是否存活等信息注册到表里,当需要调用的时候拉取一个实例,我这样理解对吗?
有没有人能用比较通俗的语言指点一二啊,写了写例子,看了一些文章还是不太懂

  • 写回答

1条回答 默认 最新

  • 红色荷包蛋 2023-04-11 21:36
    关注

    首先理解这些概念:

    • APP/Browser 是你运行的应用程序或浏览器
    • Gateway 是服务网关,可以理解为服务的入口,统一管理各种服务接口
    • 用户中心/内容中心 是两个独立的服务,用户中心提供用户相关的服务,内容中心提供内容相关的服务
    • Ribbon 是一个负载均衡器,能够根据负载情况自动分配请求到不同的服务实例
    • Nacos 是注册中心和配置中心,可以方便地注册和发现服务实例,并动态管理配置信息

    现在我们来解释一下这些概念之间的关系和如何相互调用:

    1. 注册中心

    首先需要在Nacos上注册服务,即将服务名、IP地址、端口号等信息注册到Nacos上。这样APP/Browser就可以通过Nacos来发现和调用服务。

    1. 服务消费者

    当APP/Browser需要访问某个服务时,它会向Nacos发出请求,Nacos会返回可用的服务实例列表(包括IP地址、端口号等信息),APP/Browser就可以选择其中一台实例进行请求发送。这个流程中,APP/Browser是服务的消费者,而Nacos充当了注册中心的角色。

    1. 负载均衡

    如果有多个服务实例,如何将请求以均衡的方式分散到各个实例上呢?这时就需要使用Ribbon来进行负载均衡,它会根据实例的可用性和负载情况自动分配请求。在这个流程中,Ribbon充当了负载均衡器的角色。

    1. 服务提供者

    当APP/Browser发出请求后,请求会到达Gateway,Gateway再将请求转发给相应的服务(如用户中心、内容中心),这时用户中心和内容中心充当了服务提供者的角色。在接收到请求后,它们会处理请求并返回响应结果。

    1. 服务调用

    在服务提供者内部,如果需要调用其他服务(如用户中心调用认证服务),那么就可以通过Nacos来发现和调用该服务,这个过程类似于服务消费者的流程。不同之处在于,此时服务提供者(如用户中心)充当了服务消费者的角色。

    1. 配置管理

    最后,Nacos还可以作为配置中心来管理各种配置信息(如数据库连接信息、日志级别等)。这些配置信息可以动态修改,并且能够及时生效。服务提供者和服务消费者在启动时也可以从Nacos中获取所需的配置信息。

    总之,以上就是几个概念之间的关系和相互调用方式,希望能够帮助你理解。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 已采纳回答 4月11日
  • 修改了问题 4月11日
  • 创建了问题 4月11日

悬赏问题

  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示