Dubbo

本文介绍了高性能JavaRPC框架Dubbo,包括其面向接口的RPC调用、智能负载均衡、服务注册与发现、dubbo-admin监控工具的使用以及高级功能如服务降级和集群容错。同时详细讲解了如何配置Zookeeper作为注册中心和使用dubbo-admin进行监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

一款高性能Java RPC框架。
特性:面向接口RPC调用、智能负载均衡、服务注册与发现、高度可扩展、灰度发布等。

Dubbo架构

分为注册中心、服务提供者、服务消费者、监控中心。

  1. 服务提供者向注册中心注册自己,使得注册中心能够感知服务提供者的存在。
  2. 服务消费者向注册中心进行订阅,告知注册中心自己需要哪些服务,注册中心会通知服务消费者哪些服务上线/下线。
  3. 服务消费者能够直接通过RPC调用(invoke)服务。
  4. 监控中心会定期的收集统计服务的运行状态。
    在这里插入图片描述

Zookeeper安装(docker)

Dubbo可以选用Zookeeper作为注册中心,这里选用docker进行安装。

docker pull zookeeper #拉取镜像
docker run -d -e TZ="Asia/Shanghai" -p 2181:2181 -v /root/docker/zookeeper:/data --name zookeeper --restart always zookeeper #启动zookeeper服务

相关参数解释:

-e TZ=“Asia/Shanghai” # 指定上海时区
-d # 表示在一直在后台运行容器
-p 2181:2181 # 对端口进行映射,将本地2181端口映射到容器内部的2181端口
–name # 设置创建的容器名称
-v # 将本地目录(文件)挂载到容器指定目录;
–restart always #始终重新启动zookeeper

测试是否成功:
docker ps 看看是否成功运行。

 docker exec -it zookeeper bash      //只登录容器,不登录 zkCli
./bin/zkCli.sh    //执行脚本新建一个Client,即进入容器
ls /     //查询根目录下的节点,如果查询到zookeeper节点就成功了

dubbo-admin安装

dubbo-admin可以作为dubbo的监控器,web界面实时查看dubbo应用情况。

docker pull chenchuxin/dubbo-admin
docker run -d \
    --name dubbo-admin \
    -v /root/docker/dubbo-admin:/data \
    -p 8180:8080 \
    -e dubbo.registry.address=zookeeper://172.17.0.2:2181 \
    -e DUBBO_ROOT_PASSWORD=root \
    -e DUBBO_GUEST_PASSWORD=guest \
    --restart=always \
    chenchuxin/dubbo-admin

注意:这里的zookeeper IP需要根据实际来配置,因为zookeeper是使用的docker配置,可用下面命令来查询所有docker容器ip

docker inspect -f='{{.Name}} {{.NetworkSettings.IPAddress}} {{.HostConfig.PortBindings}}' $(docker ps -aq)
# 注意 -e DUBBO_REGISTRY=zookeeper://ip:port  填写自己的zookeeper ip和端口号
# -e DUBBO_ROOT_PASSWORD 配置控制台root账号 密码
# -e DUBBO_GUEST_PASSWORD 配置控制台guest账号 密码
#-v 是宿主机与容器的挂载目录
#-p 是访问的端口号

配置成功后即可通过浏览器访问管理界面:
http://localhost:8180/
在这里插入图片描述

简单dubbo rpc测试程序

spring的程序可以参考官网的快速入门。
https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/quick-start/spring-xml/
springboot:https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/quick-start/spring-boot/
最后得到输出即成功。
在这里插入图片描述

启动时检查

Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check=“true”。
添加链接描述

本地存根

远程服务后,客户端通常只剩下接口,而实现全在服务器端,但提供方有些时候想在客户端也执行部分逻辑。
https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/local-stub/

直连提供者

绕过zookeeper注册中心,dubbo提供者消费者之间直接通信。
https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/explicit-target/

负载均衡

https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/performance/loadbalance/

服务降级

服务器流量较大时,可以牺牲少部分应用直接返回null,来保证核心应用的正常运行。
https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/service-downgrade/

集群容错

在服务调用失败后的处理方式
https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/fault-tolerent-strategy/

内容概要:本文档主要介绍了Intel Edge Peak (EP) 解决方案,涵盖从零到边缘高峰的软件配置和服务管理。EP解决方案旨在简化客户的入门门槛,提供一系列工具和服务,包括Edge Software Provisioner (ESP),用于构建和缓存操作系统镜像和软件栈;Device Management System (DMS),用于远程集群或本地集群管理;以及Autonomous Clustering for the Edge (ACE),用于自动化边缘集群的创建和管理。文档详细描述了从软件发布、设备制造、运输、安装到最终设备激活的全过程,并强调了在不同应用场景(如公共设施、工业厂房、海上油井和移动医院)下的具体部署步骤和技术细节。此外,文档还探讨了安全设备注册(FDO)、集群管理、密钥轮换和备份等关键操作。 适合人群:具备一定IT基础设施和边缘计算基础知识的技术人员,特别是负责边缘设备部署和管理的系统集成商和运维人员。 使用场景及目标:①帮助系统集成商和客户简化边缘设备的初始配置和后续管理;②确保设备在不同网络环境下的安全启动和注册;③支持大规模边缘设备的自动化集群管理和应用程序编排;④提供详细的密钥管理和集群维护指南,确保系统的长期稳定运行。 其他说明:本文档是详细描述了Edge Peak技术及其应用案例。文档不仅提供了技术实现的指导,还涵盖了策略配置、安全性和扩展性的考虑,帮助用户全面理解和实施Intel的边缘计算解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值