1、Dubbo介绍
Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。
Dubbo官网:https://cn.dubbo.apache.org/zh-cn/
Dubbo文档:https://cn.dubbo.apache.org/zh-cn/overview/quickstart/
Dubbo GitHub地址:GitHub - apache/dubbo: The java implementation of Apache Dubbo. An RPC and microservice framework.
Dubbo 使用版本对应关系:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明#2021x-分支 选择和项目相互对应的版本进行使用。这里我使用的是Dubbo 2.7.8
2、Dubbo连接注册中心
Dubbo推荐使用Zookeeper作为注册中心,Zookeeper是Apacahe Hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境。除此之外Dubbo还可以使用阿里巴巴的nacos做注册中心。Nacos作为注册中心Dubbo使用与ZooKeeper基本相同,在使用上,不同的地方只有以下两点:
- 1、导入的依赖,配置不同;
- 2、注解不同,ZooKeeper使用@Service、@Reference注解,Nacos使用@DubboService、@DubboReference注解;
3、Dubbo负载均衡
- RandomLoadBalance:加权随机,默认算法,默认权重相同;
- RoundRobinLoadBalance:加权轮询,默认权重相同;
- LeastActiveLoadBalance:最少活跃优先+加权随机,能者多劳;
- ConsistentHashLoadBalance:一致性Hash,确定入参,确定提供者,适用于有状态的请求;
4、Dubbo Admin下载与使用
官网地址:https://github.com/apache/dubbo-admin
Dubbo和Dubbo Admin版本说明:https://cn.dubbo.apache.org/zh-cn/blog/2019/01/07/新版-dubbo-admin-介绍/
4.1、修改配置文件
进入dubbo-admin-server的resources目录,修改application.properties文件修改配置中心。默认为zookeeper:
admin.registry.address注册中心
admin.config-center 配置中心
admin.metadata-report.address元数据中心
由于我使用nacos,