“简单”的Dubbo与Zookeeper (1)-使用

栏目: Java · 发布时间: 6年前

内容简介:青青草原羊村中,对于几只调皮的小羊,特别是懒羊羊,慢羊羊村长可是费了不少心思呢。几只小羊尚且如此,那么对于服务的治理,我们该怎么办呢。为了解决服务治理,阿里专门开发了服务治理的RPC框架-该教程,用于了解Dubbo + zookeeper的使用,之后会有其原理介绍与代码分析。
“简单”的Dubbo与Zookeeper (1)-使用

前言

青青草原羊村中,对于几只调皮的小羊,特别是懒羊羊,慢羊羊村长可是费了不少心思呢。几只小羊尚且如此,那么对于服务的治理,我们该怎么办呢。

为了解决服务治理,阿里专门开发了服务治理的RPC框架- Dubbo ,对于这个,你岂能不了解呢~~

该教程,用于了解Dubbo + zookeeper的使用,之后会有其原理介绍与代码分析。

安装zk

  1. zookeeper 官网下载zk.
  2. 修改 /conf/zooexample.cfg 为zoo.cfg
tickTime=2000  
dataDir= ../data  (填写自己的data目录)  
dataLogDir=../logs  
clientPort=2181
复制代码
  1. 启动zk, ./bin/zkServer.sh start ,成功如下:
ZooKeeper JMX enabled by default
Using config: /Users/zyq/develomentEnvir/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
复制代码

创建项目

创建多模块项目

“简单”的Dubbo与Zookeeper (1)-使用

core模块 (被Provider和Consumer共同依赖的项目)

  1. 创建com.chezhe.chezheService
package com.chezhe;
public interface CheZheService {
     String hello();
}
复制代码
  1. 创建com.chezhe.CheZheService2
package com.chezhe;

public interface CheZheService2 {
     String hello();
}
复制代码

provider 生产者

pom.xml

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>io.dubbo.springboot</groupId>
			<artifactId>spring-boot-starter-dubbo</artifactId>
		</dependency>
		<dependency>
			<groupId>com.chezhe</groupId>
			<artifactId>core</artifactId>
			<version>1.1-SNAPSHOT</version>
		</dependency>

复制代码

application.properties

# 端口号配置
server.port=8081

#dubbo配置
spring.dubbo.application.name=provider  //随便填
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181  //zk地址
spring.dubbo.protocol.name=dubbo        //设置RPC协议为dubbo协议
spring.dubbo.protocol.port=25040        //生产者暴露的服务端口
spring.dubbo.scan=com.chezhe            //需要扫描的包(带有service注解的类)
spring.dubbo.consumer.check=false        
spring.dubbo.timeout=10000              //调用dubbo超时时间
复制代码

实现类

  1. 实现类1
package com.chezhe.service.impl;

@Service
public class CheZheServiceImpl implements CheZheService {

    @Override
    public String hello() {
        return "你好,车辙";
    }
}
复制代码
  1. 实现类2
package com.chezhe.service.impl;

@Service
public class CheZheServiceImpl2 implements CheZheService2 {

    @Override
    public String hello() {
        return "你好,车辙";
    }
}
复制代码

consumer 消费者

pom.xml

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>io.dubbo.springboot</groupId>
			<artifactId>spring-boot-starter-dubbo</artifactId>
		</dependency>
		<dependency>
			<groupId>com.chezhe</groupId>
			<artifactId>core</artifactId>
			<version>1.1-SNAPSHOT</version>
		</dependency>

复制代码

application.properties

# 端口号配置
server.port=8082
#dubbo配置
spring.dubbo.application.name=consumer  //随便填
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181  //zk地址
spring.dubbo.scan=com.chezhe            //需要扫描的包(带有service注解的类)
spring.dubbo.consumer.check=false        
spring.dubbo.timeout=10000              //调用dubbo超时时间
复制代码

controller

@RestController
public class CheZheController {

    @Reference
    private CheZheService cheZheService;

    @RequestMapping(value = "/cheZheTest",method = RequestMethod.GET)
    public String cheZheTest(){
        return cheZheService.hello();
    }
}
复制代码

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Practice of Programming

The Practice of Programming

Brian W. Kernighan、Rob Pike / Addison-Wesley / 1999-2-14 / USD 49.99

With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual progr......一起来看看 《The Practice of Programming》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器