dubbo核心概念

apache是一款高性能、轻量级的开源java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现

使用步骤

1,引入dubbo依赖

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>dubbo</artifactId>

<version>2.6.2</version>

</dependency>

2,引入操作zookeeper的客户端的curator

<dependency>

<groupId>org.apache.curator</groupId>

<artifactId>curator-framework</artifactId>

<version>2.12.0</version>

</dependency>

(dubbo 2.6之前需要引如zkclient)

3,配置服务提供者

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.198bona.com"

xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"

xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd        http://dubbo.apache.org/schema/dubbo        http://dubbo.apache.org/schema/dubbo/dubbo.xsd">

<!-- 提供方应用信息,用于计算依赖关系 -->

<dubbo:application name="hello-world-app"  />

//<!-- 使用multicast广播注册中心暴露服务地址 -->

//<dubbo:registry address="multicast://224.5.6.7:1234" />

<!-- 使用zookeeper广播注册中心暴露服务地址 -->

<dubbo:registry address="zookeeper://224.5.6.7:2181" />

<!-- 用dubbo协议在20880端口暴露服务 -->

<dubbo:protocol name="dubbo" port="20880" />

<!-- 声明需要暴露的服务接口 -->

<dubbo:service interface="org.apache.dubbo.demo.DemoService" ref="demoService" />

<!-- 和本地bean一样实现服务 -->

<bean id="demoService" class="org.apache.dubbo.demo.provider.DemoServiceImpl" />

</beans>

服务端配置:

1,应用名字

2,zookeeper地址

3,协议和本服务交换端口

4,需要暴露的接口(需要引入接口的实现类)

5,暴露的接口的实现

消费端配置:

1,应用名字

2,zookeeper地址

3,需要调用的接口

注解方式 @service (暴露服务)@reference(消费服务) @EnableBubbo开启dubbo

本地存根 消费端

<dubbo :reference  stub=”本地实现类”>

本地实现类必须实现要远程调用的接口,并提供一个要调用接口的有参构造

配置dubbo的方法:

dubbo的高可用

dubbo的负载均衡

基于权重的随机负载均衡机制

基于权重的轮询负载均衡机制

最少活跃数负载均衡机制

一直性hash负载均衡机制

dubbo服务降级

dubbo集群容错

dubbo原理:

(0)

相关推荐

  • Dubbo 一篇文章就够了:从入门到实战

    一 为什么需要 dubbo 很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知 ...

  • SpringBoot集成Dubbo

    一.基本步骤 1. Dubbo服务接口 创建一个接口项目,12-springboot-dubbo-interface,该项目只定义接口和model类 1.创建普通的Maven项目,dubbo服务接口工 ...

  • Dubbo和Zookeeper

    一.软件架构演进 软件架构的发展经历了由单体架构.垂直架构.分布式架构到流动计算架构的演进过程. 1.单一架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本.此时,用于 ...

  • eclipse构建maven+spring+mybatis控制台应用。

    使用maven+spring+mybatis构建控制台应用,方便调试spring或者mybatis代码,或者编写测试代码. 一,首先使用eclipse构建maven项目.详细教程. 二,在你的 pom ...

  • JMS--ActiveMQ的简单使用

    推荐阅读: 1.SSM整合及聚合工程的搭建 2.AdminLTE介绍和zTree的简单使用 3.MyBatis分页组件--PageHelper 4.Shiro 5.SpringAop--系统日志简例 ...

  • 【2021考前作文微指导1】审题:如何抓住核心概念

    问题:不少学生写作文往往扣不住中心话题,或扣住了中心话题,但对话题概念吃不透,拿不准,说不清. 写作文,都会有一个中心话题,这一话题往往从题目的材料中来,从题目的主题要求中来.中心话题往往又会具体到一 ...

  • 课题核心概念有两个可以吗

    每个研究课题,都有其"核心概念",可能遇到一个或多个的情况.那么,课题核心概念可以有两个吗?可以.课题核心概念是对课题突出关键词的诠释,一般可以有2-3个. 课题研究是要解决问题的 ...

  • 深入解析机器学习核心概念

    刚接触机器学习框架 TensorFlow 的新手们,这篇由 Google 官方出品的常用术语词汇表,一定是你必不可少的入门资料!本术语表列出了基本的机器学习术语和 TensorFlow 专用术语的定义 ...

  • 初中生物:必背核心概念100条,考试拿满...

    初中生物:必背核心概念100条,考试拿满分就靠这些了!建议打印给孩子贴墙上背! 从孩子们踏入初中开始,就要学习生物这门许学科了,作为理科中的"文科",对于学生们来说,要想学好它可不 ...

  • 干货 | 高中生物学五本书核心概念汇总!

    干货 | 高中生物学五本书核心概念汇总!

  • 高中历史,如何用一句话搞定关键史实和核心概念?这一文就够了

    学习历史和语文一样,知识素养的积累需要一个长期的过程. 其实历史知识有其独特的规律,如果把相关知识归纳汇总,记忆起来也是很有效果的.今天我整理了中国史和世界史的关键史实和核心概念,简短精炼,方便记忆. ...

  • 生物干货 | 高中生物学核心概念汇总(高分必备)

    地理生物轻松学 公众号ID: dilishengwu520

  • 课题研究中“核心概念及界定”的写法

    课题研究中"核心概念及界定"的写法 一.什么是核心概念 一般来说,我们经常把以下三种情况作为课题的核心概念. (一)课题名称中的特定概念 比如<"我能行" ...

  • 推手是太极拳的核心概念,告诉你诀窍

    推手是太极拳的核心概念,是中华武术特别是太极拳的一种训练方法,人们也称之为太极推手.打手.揉手.擖手. 目前太极拳推手主要以两种表现形式存在:传统推手法和国家推广的竞技推手法.各式太极拳和国家套路的推 ...