1. 介绍一下 Dubbo?

简介: 1. 介绍一下 Dubbo?

image.png

Dubbo 是一个分布式服务框架,以及 SOA 治理方案。其功能主要包括:高性能 NIO 通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等。 它有 5 个节点,分别是 Provider, Consumer, Registry, Monitor, Container。其中 Provider 是服务提供者, Consumer 是服务消费者,Registry 是服务进行注册和被发现的注册中心,Monitor 是统计服务的调用次数和调用时间的监控中心,Container 是服务运行容器。

他们之间调用的关系是:Container 负责启动,加载然后运行 Provider。Provider 在启动时会向注册中心注册自己提供的服务,Consumer 在启动时会向 Registry 订阅自己所需服务,此时 Registry 会返回 Provider 地址列表给 Consumer。如果地址有变更,Registry 会基于长连接推送变更数据给 Consumer。Consumer 会基于软负载均衡算法选一台提供者进行调用,如果调用失败,则再选一台。Provider 和 Consumer 在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到 Monitor。

Dubbo 具有 4 个特点,分别是连通性、壮性、伸缩性、以及向未来架构的升级性。连通性说明他们之间都存在着关系,比如说 Provider,Consumer 和 Registry 三者之间都是长连接,而 Provider,Consumer 向 Registry 注册服务以及订阅服务的时间都得向 Monitor 汇报。而壮性说明具有稳定性,比如说注册中心对等集群中的任意一台宕掉后,将自动切换到另一台。就算注册中心全部宕掉,服务者和消费者仍可以通过本地缓存进行通讯。而伸缩性就是可以通过增加机器部署实例进行添加新的注册中心和服务提供者。而升级性是文档中提到的对未来架构的设想,比起目前框架它的特点是可以实现自动部署服务的本地代理以及可以通过访问压力来自动增减服务提供者。

相关文章
|
安全 网络安全 网络虚拟化
|
3月前
|
人工智能 缓存 自然语言处理
阿里云百炼大模型收费说明:模型推理、模型训练和模型部署费用整理
阿里云百炼平台开通免费,且每模型享100万Token免费额度。费用产生于模型推理、训练(调优)和部署,超出免费额度后按量计费。推理按输入/输出Token阶梯计价,训练按数据量和循环次数计费,部署支持按时长或调用量两种模式。
1938 65
|
Java Maven
Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
2274 0
Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
List并发线程安全问题
【10月更文挑战第21天】`List` 并发线程安全问题是多线程编程中一个非常重要的问题,需要我们认真对待和处理。只有通过不断地学习和实践,我们才能更好地掌握多线程编程的技巧和方法,提高程序的性能和稳定性。
653 59
|
9月前
|
数据采集 前端开发 JavaScript
PDF预览:利用vue3-pdf-app实现前端PDF在线展示
通过本文的介绍,我们详细了解了如何在Vue3项目中使用vue3-pdf-app实现PDF文件的在线展示。从项目初始化、插件集成到高级功能的实现和部署优化,希望对你有所帮助。在实际项目中,灵活运用这些技术可以大大提升用户体验和项目质量。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
Java API
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
|
XML JSON Java
JDK8到JDK26版本升级的新特性问题之在JDK 13中,字符串文本块改进字符串嵌入是如何实现的
JDK8到JDK26版本升级的新特性问题之在JDK 13中,字符串文本块改进字符串嵌入是如何实现的
|
Docker 容器
docker设置国内镜像源
docker设置国内镜像源
37579 5