1.dubbo是啥
Dubbo 是一个高性能的 Java RPC(远程过程调用)框架,用于构建分布式服务架构。由阿里巴巴开发并开源,作为一个分布式服务框架,Dubbo 提供了丰富的功能,包括服务治理、远程调用、负载均衡、容错机制等,帮助构建高性能、可扩展的分布式系统。
具体来说,Dubbo 框架为分布式系统提供了以下功能和特性:
远程调用:Dubbo 提供了远程服务调用的能力,允许不同服务之间透明地进行通信。
服务治理:Dubbo 提供了一系列服务治理功能,包括服务注册与发现、路由、动态配置、负载均衡、容错等,用于更好地管理和监控分布式系统中的各个服务。
负载均衡:Dubbo 支持多种负载均衡策略,能够根据实际场景灵活选择负载均衡策略,以提高系统的稳定性和性能。
容错机制: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 包含了以下一些功能:
服务治理:Dubbo-Admin 可以对 Dubbo 服务进行治理,包括对服务进行注册、下线、动态配置、路由规则配置等。
监控统计:Dubbo-Admin 可以展示 Dubbo 服务的运行状态、调用次数、响应时间等统计信息,帮助您更好地了解服务的运行情况。
动态配置:Dubbo-Admin 允许您动态地修改 Dubbo 服务的一些配置信息,如权重配置、路由规则、限流配置等。
简而言之:它就像Navicat一样是一个管理的控制台
2.Dubbo-admin连接Zookeeper干嘛?
Dubbo-Admin 控制台可以连接到 ZooKeeper。Dubbo-Admin 通常作为 Dubbo 服务治理的控制台,通过连接到 ZooKeeper,它能够获取 Dubbo 服务注册中心中的服务提供者和消费者信息,监控这些服务的运行状态,并进行服务治理操作。
具体来说,Dubbo-Admin 连接到 ZooKeeper 的作用包括:
服务发现:Dubbo-Admin 通过连接到 ZooKeeper,能够发现注册在 ZooKeeper 上的 Dubbo 服务提供者和消费者,并把这些信息展示在管理控制台上。
监控统计:Dubbo-Admin 可以从 ZooKeeper 获取 Dubbo 服务的运行状态、调用次数、响应时间等统计信息,用于服务的监控和统计分析。
服务治理:Dubbo-Admin可以通过连接到 ZooKeeper,执行一些服务治理操作,如服务上下线、动态配置等,将这些操作同步到 ZooKeeper 上,从而影响 Dubbo 服务的运行状态。
总而言之:把zookeeper作为了注册中心
- zookeeper起到的作用?
ZooKeeper 经常被用作 Dubbo 的注册中心。在 Dubbo 中,服务提供者会将自己的地址注册到 ZooKeeper 上,而服务消费者则在 ZooKeeper 中获取服务提供者的地址。这使得 Dubbo 框架能够实现服务的注册与发现,从而协调服务提供者和消费者之间的通信。
ZooKeeper 提供了分布式的协调服务,可用于服务的注册与发现、动态配置等。Dubbo 利用 ZooKeeper 作为注册中心,通过 ZooKeeper 可以实现对服务提供者和消费者的动态管理,以及对服务调用过程的协调。
通过将 ZooKeeper 作为 Dubbo 的注册中心,Dubbo 框架能够实现高效的服务注册与发现,帮助构建出更加强大和可靠的分布式系统
如何注册?在我们自己写的项目的配置文件application.properties 中,不是写在那个springboot那个自带那个application.yml配置中,xxx.properties文件优先级高于xxx.yml
XML####################### 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注解,目的是将服务暴露出去