dubbo的一些问题思考

发布时间:2023年12月29日

1.dubbo是啥

Dubbo 是一个高性能的 Java RPC(远程过程调用)框架,用于构建分布式服务架构。由阿里巴巴开发并开源,作为一个分布式服务框架,Dubbo 提供了丰富的功能,包括服务治理、远程调用、负载均衡、容错机制等,帮助构建高性能、可扩展的分布式系统。

具体来说,Dubbo 框架为分布式系统提供了以下功能和特性:

  1. 远程调用:Dubbo 提供了远程服务调用的能力,允许不同服务之间透明地进行通信。

  2. 服务治理:Dubbo 提供了一系列服务治理功能,包括服务注册与发现、路由、动态配置、负载均衡、容错等,用于更好地管理和监控分布式系统中的各个服务。

  3. 负载均衡:Dubbo 支持多种负载均衡策略,能够根据实际场景灵活选择负载均衡策略,以提高系统的稳定性和性能。

  4. 容错机制:Dubbo 提供了针对分布式调用的容错机制,包括快速失败、失败重试、失败自动切换等,以保障服务的可靠性。

2.使用dubbo

1.自己在Linux里安装docker

2.拉取dubbo-admin镜像

3.拉取zookeeper镜像

4.创建启动这两镜像的容器(创建dubbo-admin容器的时候连接zookeeper容器)

1.Dubbo-admin是啥?

????????Dubbo-Admin 是 Dubbo 的管理控制台,Dubbo-Admin 是一个基于 Dubbo 协议的服务治理系统。通过 Dubbo-Admin,您可以查看 Dubbo 服务的各种统计数据、配置信息、动态调整参数以及监控 Dubbo 服务的运行状态。Dubbo-Admin 能够帮助您更好地管理和维护 Dubbo 服务。

具体来说,Dubbo-Admin 包含了以下一些功能:

  1. 服务治理:Dubbo-Admin 可以对 Dubbo 服务进行治理,包括对服务进行注册、下线、动态配置、路由规则配置等。

  2. 监控统计:Dubbo-Admin 可以展示 Dubbo 服务的运行状态、调用次数、响应时间等统计信息,帮助您更好地了解服务的运行情况。

  3. 动态配置:Dubbo-Admin 允许您动态地修改 Dubbo 服务的一些配置信息,如权重配置、路由规则、限流配置等。

  4. 简而言之:它就像Navicat一样是一个管理的控制台

2.Dubbo-admin连接Zookeeper干嘛?

????????Dubbo-Admin 控制台可以连接到 ZooKeeper。Dubbo-Admin 通常作为 Dubbo 服务治理的控制台,通过连接到 ZooKeeper,它能够获取 Dubbo 服务注册中心中的服务提供者和消费者信息,监控这些服务的运行状态,并进行服务治理操作。

具体来说,Dubbo-Admin 连接到 ZooKeeper 的作用包括:

  1. 服务发现:Dubbo-Admin 通过连接到 ZooKeeper,能够发现注册在 ZooKeeper 上的 Dubbo 服务提供者和消费者,并把这些信息展示在管理控制台上。

  2. 监控统计:Dubbo-Admin 可以从 ZooKeeper 获取 Dubbo 服务的运行状态、调用次数、响应时间等统计信息,用于服务的监控和统计分析。

  3. 服务治理:Dubbo-Admin可以通过连接到 ZooKeeper,执行一些服务治理操作,如服务上下线、动态配置等,将这些操作同步到 ZooKeeper 上,从而影响 Dubbo 服务的运行状态。

  4. 总而言之:把zookeeper作为了注册中心

3. zookeeper起到的作用?

????????? ZooKeeper 经常被用作 Dubbo 的注册中心。在 Dubbo 中,服务提供者会将自己的地址注册到 ZooKeeper 上,而服务消费者则在 ZooKeeper 中获取服务提供者的地址。这使得 Dubbo 框架能够实现服务的注册与发现,从而协调服务提供者和消费者之间的通信

ZooKeeper 提供了分布式的协调服务,可用于服务的注册与发现、动态配置等。Dubbo 利用 ZooKeeper 作为注册中心,通过 ZooKeeper 可以实现对服务提供者和消费者的动态管理,以及对服务调用过程的协调。

通过将 ZooKeeper 作为 Dubbo 的注册中心,Dubbo 框架能够实现高效的服务注册与发现,帮助构建出更加强大和可靠的分布式系统

?如何注册?

在我们自己写的项目的配置文件application.properties 中,不是写在那个springboot那个自带那个application.yml配置中,xxx.properties文件优先级高于xxx.yml

####################### Dubbo 配置 ##############
# 服务名
dubbo.application.name=user
# 注册中心地址
dubbo.registry.address=zookeeper://192.168.184.140
# 注册中心端口
dubbo.registry.port=2181
# 连接注册中心超时事件
dubbo.registry.timeout=100000
# 采用的协议:dubbo协议
dubbo.protocol.name=dubbo
# dubbo协议端口号
dubbo.protocol.port=20881
# 扫描dubbo注解基础包
dubbo.scan.base-packages=top.psjj

业务层@service用的是dubbo依赖包中的service注解,目的是将服务暴露出去

?

文章来源:https://blog.csdn.net/m0_72128887/article/details/135287337
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。