dubbo+zookeeper服务搭建

原创 2018年04月16日 17:34:34

1.dubbo简介

        起源阿里系内部使用分布式服务应用管理。经过大量生产环境考量
        http://dubbo.io
        dubbo原生(2017.5) --> 2018.2.15入驻apache孵化器

        dubbox 支持RESTful通讯

2.dubbo的provider编写    

# pom.xml添加dubbo引用
<!-- https://mvnrepository.com/artifact/com.alibaba/dubbo -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.6.0</version>
</dependency>
# 编写dubbo接口及实现子类
package com.lpf.dubbo;


public interface HelloService {
    public String hello(String name);
}
package com.lpf.dubbo;


public class HelloServiceImpl implements HelloService {
    public String hello(String name) {
        return "hello " + name;
    }
}
# 编写spring配置文件格式的xml
<?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://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

        <!-- 声明服务 -->
        <dubbo:application name="hello-service" />
        <!-- 服务网络注册 -->
        <!--<dubbo:registry address="multicast://224.5.6.7:1234?unicast=false" />-->
        <dubbo:registry address="zookeeper://192.168.0.102:2181" />
        <!-- provider和consumer之间通讯使用端口号 -->
        <dubbo:protocol name="dubbo" port="20880" />
        <!-- 服务接口声明 -->
        <dubbo:service interface="com.lpf.dubbo.HelloService" ref="helloServiceImpl" />
        <!-- 服务接口实现的bean -->
        <bean id="helloServiceImpl" class="com.lpf.dubbo.HelloServiceImpl" />
</beans>
# 编写main启动类,启动provider服务并生成jar包
package com.lpf.dubbo;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;



public class Provier {

    public static void main(String[] args) throws IOException {
        ClassPathXmlApplicationContext ctx =
                new ClassPathXmlApplicationContext("provider.xml");

        ctx.start();

        System.in.read();  // 任意键退出
    }
}

3.dubbo的consumer编写

# pom.xml添加provider.jar引用
<dependency>
    <groupId>com.lpf.dubbo</groupId>
    <artifactId>hello_provider</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>
# 编写spring配置文件格式的xml
<?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://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

        <!-- 声明consumer的引用名称 -->
        <dubbo:application name="hello-service-consumer" />
        <!-- 服务网络注册 -->
        <!--<dubbo:registry address="multicast://224.5.6.7:1234?unicast=false" />-->
        <dubbo:registry address="zookeeper://192.168.0.102:2181" />
        <!-- 声明服务及引用 -->
        <dubbo:reference id="helloService" interface="com.lpf.dubbo.HelloService"/>
</beans>
# 编写main启动类,调用provider服务
package com.lpf.dubbo;

import org.springframework.context.support.ClassPathXmlApplicationContext;


public class Consumer {

    public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx =
                new ClassPathXmlApplicationContext("consumer.xml");
        ctx.start();
        HelloService service = (HelloService) ctx.getBean("helloService");

        System.out.println(service.hello("mike"));
    }
}

4.zookeeper安装及配置

1)简介
    原属于hadoop技术框架中一个子项,功能完成状态管理
    原理:内部DOM结构,存储多个节点,不同节点保存不同值。
    由于zookeeper独立运行在系统中,可以实现全局共享资源管理。
2)安装配置。http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz
# linux系统解压zookeeper文件,并解压后的文件夹改名
tar zxvf zookeeper-3.4.11.tar.gz
mv zookeeper-3.4.11 zookeeper

#进入zookeeper编辑配置文件
cd zookeeper
cd conf
cp zoo_simple.cfg zoo.cfg
vi zoo.cfg

# 心跳时间检测间隔值
tickTime=2000
# 数据存盘目录位置	
dataDir=/var/lib/zookeeper
# 客户端通讯端口
clientPort=2181

编辑后存盘退出
cd ..
启动zookeeper服务
bin/zkServer.sh start

查询系统进程中zookeeper
ps -aux | grep zookeeper

客户端访问(需要java环境)
bin/zkCli.sh -server 127.0.0.1:2181

查询节点
ls /
创建节点
create /test hello
查看根节点
ls /
获取节点
get /test
退出客户端
quit

5.dubbo服务注册使用zookeeper实现

#pom.xml导入
<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.10</version>
</dependency>
#第三步consumer中xml配置文件

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






版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36704440/article/details/79962393

Dubbo+zookeeper 最简单的分布式搭建

Dubbo+zookeeper 最简单的分布式搭建 大家好,我是Andy,那个永远积极向上且自恋的Andy 介绍:本例采用 dubbo+zookeeper 搭建分布式系统,环境 jdk1...
  • hua1586981
  • hua1586981
  • 2018-01-29 17:12:19
  • 7852

dubbo+zookeeper搭建示例需要jar包

  • 2016年04月05日 22:10
  • 6.88MB
  • 下载

Dubbo+Zookeeper+Tomcat.rar

  • 2017年04月29日 08:41
  • 50.8MB
  • 下载

linux环境搭建dubbo+zookeeper

Zookeeper作为hadoop的一个子项目,主要用来协调分布式应用服务,dubbo作为一种优秀的分布式服务框架,实现了透明化的分布式远程调用。今天博客,主要是在linux系统上搭建dubbo+zo...
  • u010928470
  • u010928470
  • 2016-05-31 19:55:21
  • 740

zookeeper+Dubbo环境搭建及简单Demo

一、运行环境 本文运行环境:windows 7  + JDK1.8 + zookeeper-3.3.6 + dubbo-admin-2.5.4 (支持JDK 1.8)+ dubbo 2.5.3 所需工...
  • zgsdzczh
  • zgsdzczh
  • 2017-11-29 14:43:12
  • 3343

搭建dubbo+zookeeper Linux环境

搭建zookeeper环境: 首先下载zookeeper项目zookeeper-3.4.6.tar.gz;将下载下来的压缩包解压;tar -xzvf zookeeper-3.4.6.tar.gz...
  • qq_38724991
  • qq_38724991
  • 2017-08-01 11:21:40
  • 118

使用dubbo+zookeeper创建一个小应用

dubbo和zookeeper都是分布式服务框架,其中dubbo是阿里巴巴研发的开源框架,dubbo主要分为服务提供方,服务消费方,注册中心,监控中心,服务运行容器。下图是dubbo官网的一个结构图:...
  • polo_longsan
  • polo_longsan
  • 2016-04-05 22:01:34
  • 760

Dubbo+zookeeper入门示例搭建

参考文章:http://blog.csdn.net/doegoo/article/details/49679781 http://www.cnblogs.com/ASPNET2008/p/56220...
  • qi531621028
  • qi531621028
  • 2016-11-24 17:14:04
  • 1926

[dubbo实战] dubbo+zookeeper伪集群搭建

zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待。所以可以通过zookeeper集群解决。 一、为什么需要zookeeper呢?    大部分分布式应用需要一个主...
  • ggibenben1314
  • ggibenben1314
  • 2015-08-17 21:52:51
  • 13288

zookeeper和dubbo例子

  • 2017年12月22日 19:26
  • 45KB
  • 下载
收藏助手
不良信息举报
您举报文章:dubbo+zookeeper服务搭建
举报原因:
原因补充:

(最多只允许输入30个字)