dubbo 概述和使用

 

 

dubbo核心概念

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

 

官网:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html

使用步骤

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.w3.org/2001/XMLSchema-instance"

    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原理

猜你喜欢

转载自www.cnblogs.com/baoguochun/p/10787675.html