dubbo简介

dubbo简介dubbo简介

大家好,又见面了,我是你们的朋友全栈君。

一.什么是dubbo

      随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。

dubbo简介

  • 单一应用架构

    • 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。
    • 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。
  • 垂直应用架构

    • 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。
    • 此时,用于加速前端页面开发的 Web框架(MVC) 是关键。
  • 分布式服务架构 
    • 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。
    • 此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。
  • 流动计算架构 
    • 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。
    • 此时,用于提高机器利用率的 资源调度和治理中心(SOA) 是关键。

 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

二.dubbo的架构

dubbo简介

节点角色说明:

· Provider:暴露服务的服务提供方。

· Consumer:调用远程服务的服务消费方。

· Registry:服务注册与发现的注册中心。

· Monitor:统计服务的调用次调和调用时间的监控中心。

· Container:服务运行容器。

调用关系说明:

· 0. 服务容器负责启动,加载,运行服务提供者。

· 1. 服务提供者在启动时,向注册中心注册自己提供的服务。

· 2. 服务消费者在启动时,向注册中心订阅自己所需的服务。

· 3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

· 4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

· 5.
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

三.dubbo使用方法

       Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。

单一工程中spring的配置

<bean id="xxxService" class="com.xxx.XxxServiceImpl" />
<bean id="xxxAction" class="com.xxx.XxxAction">
	<property name="xxxService" ref="xxxService" />
</bean>

远程服务

      将上面的local.xml配置拆分成两份,将服务定义部分放在服务提供方remote-provider.xml,将服务引用部分放在服务消费方remote-consumer.xml。并在提供方增加暴露服务配置<dubbo:service>,在消费方增加引用服务配置<dubbo:reference>。

发布服务:

<!-- 和本地服务一样实现远程服务 -->
<bean id="xxxService" class="com.xxx.XxxServiceImpl" />
<!-- 增加暴露远程服务配置 -->
<dubbo:service interface="com.xxx.XxxService" ref="xxxService" />

调用服务:

<!-- 增加引用远程服务配置 -->
<dubbo:reference id="xxxService" interface="com.xxx.XxxService" />
<!-- 和本地服务一样使用远程服务 -->
<bean id="xxxAction" class="com.xxx.XxxAction">
	<property name="xxxService" ref="xxxService" />
</bean>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105647.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月25日 上午10:20
下一篇 2022年4月25日 上午10:20


相关推荐

  • linux查看本机ip地址

    linux查看本机ip地址linux 中哪个命令可以查看自己的 IP 地址 nbsp 50 我的主机是通过宽带联网的 主机的 IP 通过那个本地连接可以看到 但在虚拟机 Debianlinux5 0 终端下输入 route n 显示的是 destination 的 IP 怎么查看属于虚拟机 linux 的 IP 呢 linux 通过桥接的 再问哥们一个问题 我在 linux 终端键入 telnet 主机 IP 可以进入 WIN 展开哥们 在 DOS 下 telnetip

    2026年3月19日
    2
  • 细谈Activity四种启动模式

    细谈Activity四种启动模式nbsp nbsp nbsp nbsp 嗨大家好 又和大家见面了 上一次我们一起搞清楚了 Handler 的源码机制 现在回想起来是不是感觉也就那么回事 当时看的头皮发麻 今天我们谈一谈我们在 Android 开发中必不可缺少的一个组件 Activity nbsp nbsp nbsp nbsp Activity 作为四大组件之一 也可以说是四大组件中最重要的一个组件 它负责 App 的视图 还负责用户交互 而且有时候还经常其他组件绑定使用 可以说非常的重要 nbsp

    2026年3月18日
    2
  • django views_sets

    django views_sets前言ViewSet只是一种基于类的视图,它不提供任何方法处理程序(如.get()或.post()),而是提供诸如.list()和.create()之类的操作。ViewSet的方法处理程序

    2022年8月7日
    7
  • 关系图谱在贝壳的构建和应用

    关系图谱在贝壳的构建和应用分享嘉宾:周玉驰贝壳资深算法工程师文章整理:许继瑞内容来源:贝壳找房知识图谱技术大会出品平台:DataFun注:欢迎转载,转载请在留言区留言。导读:贝壳找房积累了大量房、客、人的行为…

    2022年6月26日
    31
  • 比特币矿机哪种型号好_不考虑电费哪个矿机最好

    比特币矿机哪种型号好_不考虑电费哪个矿机最好矿机电源对于比特币矿机来说至关重要,毕竟挖矿中矿机稳定运行是非常重要的,而矿机电源就是保障比特币矿机稳定运行的重要法宝。现在矿机电源应用范围那么高,说明在技术,还有设备方面都完善了很多,而且完善之后的矿机,在做工跟加工方面都好很多,提高了很多,这是非常重要的一点,不管是在哪几个方面,在生产量方面也会越来越好,随着现在时代的不断的改变,矿机电源的应用会越来越精细化。因为比特币挖矿需要多显卡多芯片…

    2026年4月16日
    5
  • python 获取当前日期 星期[通俗易懂]

    python 获取当前日期 星期

    2022年1月24日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号