dubbo如何连接zookeepr(一)

栏目: 服务器 · 发布时间: 6年前

内容简介:这次主要是对dubbo 和zookeeper的配置做个记录,以便以后自己忘记了,或者踩的坑再次被踩zookeerer类似 springcloud中的Eureka都做为注册中心,用srpingboot建立三个项目生产者,消费者,公共接口,引用阿里的dubbo做为rpc框架, 生产者负责实现接口的业务逻辑 并且在zookeeper注册中心中注册,同是消费者也连接zookeeper注册中心进行消息调用 。优点:

这次主要是对dubbo 和zookeeper的配置做个记录,以便以后自己忘记了,或者踩的坑再次被踩

快速阅读

zookeerer类似 springcloud中的Eureka都做为注册中心,用srpingboot建立三个项目生产者,消费者,公共接口,引用阿里的dubbo做为rpc框架, 生产者负责实现接口的业务逻辑 并且在zookeeper注册中心中注册,同是消费者也连接zookeeper注册中心进行消息调用 。

优点:

做为分布式服务架构,将核心业务抽取出来,稳定服务器,同时扩展方便 。可以针对高并发数据进行快速合理的扩展和监控。提高集群的利用率

zookeeper的配置

创建spring boot项目进行连接zookeeper

  1. 用Ideal创建一个maven项目 ,在项目里添加三个module

这三个项目分别是生产者dubboprovider 消费者dubboconsumer 接口duoboapi

创建一个maven的项目

dubbo如何连接zookeepr(一)

输入项目名字

dubbo如何连接zookeepr(一)

下一步

dubbo如何连接zookeepr(一)

进入项目界面

dubbo如何连接zookeepr(一)

新建provider module

dubbo如何连接zookeepr(一)

dubbo如何连接zookeepr(一)

dubbo如何连接zookeepr(一)

同样的方法 创建其它两个module,结果如下所示三个module创建完毕

dubbo如何连接zookeepr(一)

  1. 配置主项目 pom.xml

引用三个主要的依赖,

dubbo-spring-boot-starter: 在spring容器中注入特定bean ,集成了dubbo和spring boot

zookeeper:zookeeper的依赖

zkclient:zookeeper的客户端依赖

<dependencies>
        <dependency>
            <groupId>com.alibaba.spring.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>1.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.13</version>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>
    </dependencies>
  1. 定义接口

在dubboapi 模块中 java 下,新建一个类com.hcb.Service.IHelloService

package com.hcb.Service;

public interface  IHelloService {
    String SayHello(String name);
}
  1. 实现 生产者模块

在该模块的pom.xml引用接口

<groupId>com.hcb</groupId>
    <artifactId>dubboprovider</artifactId>
    <dependencies>
        <dependency>
            <groupId>com.hcb</groupId>
            <artifactId>dubboapi</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

新建main入口方法

引用@SpringBootApplication,@EnableDubboConfiguration 注解

  • @SpringBootApplication 整合了三个注解。(默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan
  • @Configuration 是和@Bean 把实体model翻译成了xml的配置文件 ,使配置更简单
  • @EnableAutoConfiguration 能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。
  • @ComponentScan 会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。
  • @EnableDubboConfiguration, 表示要开启dubbo功能.

参考: https://www.cnblogs.com/MaxElephant/p/8108140.html

package com.hcb;

import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import java.util.concurrent.CountDownLatch;

@SpringBootApplication
@EnableDubboConfiguration
public class provider {
    public static void main(String[] args) throws InterruptedException {
        SpringApplication.run(provider.class,args);
        new CountDownLatch(1).await();
    }
}

定义一个类com.hcb.Service.HelloService 来实现 接口

@Service注解,将自动注册到Spring容器,不需要再定义bean了

@component (把普通pojo实例化到spring容器中,相当于配置文件中的

<bean id="" class=""/>)

泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),

package com.hcb.Service;

import com.alibaba.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;

@Service
@Component
public class HelloSevice implements IHelloService {
    public String SayHello(String name){
        return "hi "+name;
    }
}

resoruces中新建application.properties配置 文件

指定名字并给出要注册的zookeepr的地址

spring.dubbo.appname=dubboprovider
spring.dubbo.registry=zookeeper://192.168.159.131:2181

启动

在provider类中在击main方法所在的类,然后选择run

dubbo如何连接zookeepr(一)

程序正常启动不报错

dubbo如何连接zookeepr(一)


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

绝对价值

绝对价值

[美] 伊塔马尔·西蒙森 艾曼纽·罗森 / 钱峰 / 中国友谊出版公司 / 2014-7 / 45.00元

绝对价值指的是经用户体验的产品质量,即使用某件产品或者享受某项服务的切实感受。 过去,消费就像是押宝。一件商品好不好,一家餐馆的环境如何,没有亲身体验过消费者无从得知,只能根据营销人员提供的有限信息去猜测。品牌、原产地、价位、广告,这些重要的质量线索左右着消费者的选择。 然而,互联网和新兴科技以一种前所未有的速度改变了商业环境。当消费者可以在购买前查看到交易记录和消费者评价,通过便捷的......一起来看看 《绝对价值》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具