程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

RPC

发布于2021-01-01 16:14     阅读(689)     评论(0)     点赞(22)     收藏(5)


管理控制台安装

安装zookeeper

  1. 进入官网:https://downloads.apache.org/zookeeper/ 下载 apache-zookeeper-3.5.8-bin

  2. 进入安装目录下的 conf文件夹

    复制一份zoo_sample.cfg 重命名为zoo.cfg

安装dubbo:

git clone https://github.com/apache/dubbo-admin.git /var/tmp/dubbo-admin

打包:

# 跳过测试打包
mvn clean package -Dmaven.test.skip=true
# 不跳过测试打包 速度慢
mvn clean package

配置

配置文件为:
dubbo-admin-backend/src/main/resources/application.properties
主要的配置有:
dubbo.registry.address=zookeeper://127.0.0.1:2181

访问:

http://127.0.0.1:8080

注意:如果启动项目失败,注意观察日志文件,可能是admin-serve项目的端口错误,或者是端口被占用。

server.port=8081
admin.registry.address=zookeeper://127.0.0.1:2181
admin.config-center=zookeeper://127.0.0.1:2181
admin.metadata-report.address=zookeeper://127.0.0.1:2181

SpringBoot+ZooKeeper+Dubbo整合

一、 创建服务提供方provider应用

  1. 导入maven依赖
<!--dubbo整合包-->
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
<!--zookeeper客户端zkclient-->
<dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-recipes -->
<!--dubbo依赖包-->
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>2.12.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework -->
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>2.12.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.5.8</version>
    <!--防止日志冲突-->
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  1. 配置dubbo
server.port=8082
#服务应用名称
dubbo.application.name=myTicketServer
#配置注册中心
dubbo.registry.address=zookeeper://127.0.0.1
dubbo.registry.port=2181
# 用dubbo协议在20880端口暴露服务
#dubbo.protocol.name=dubbo
#dubbo.protocol.port=20880
#声明需要暴露的服务接口
dubbo.scan.base-packages=com.ghe.dubbo.service
  1. 编写接口
//服务注册与发现
@Component
@DubboService
public class TicketServiceImpl implements TicketService{
    @Override
    public void sellTicket(String message) {
        System.out.println("sell ticket success!"+message);
    }
}

二、创建消费者Consumer

  1. 导入maven依赖,和provider的依赖一样

  2. 配置dubbo

    server.port=8083
    #服务应用名称
    dubbo.application.name=userConsumer
    #配置注册中心
    dubbo.registry.address=zookeeper://127.0.0.1
    dubbo.registry.port=2181
    # 用dubbo协议在20880端口暴露服务
    #dubbo.protocol.name=dubbo
    #dubbo.protocol.port=20880
    #声明需要暴露的服务接口
    #注意 这里需要和provider提供的接口路径相同
    dubbo.scan.base-packages=com.ghe.dubbo.service
    
    1. 编写消费者接口
//从注册中心获取provider提供的服务列表
@Service
public class UserServiceImp{
    @DubboReference//定义pr与provider服务相同路径的接口名
    TicketService ticketService;

    public void getTicket(String message){
        ticketService.sellTicket(message);
    }

}
//需要和pr与provider服务相同路径的接口名
public interface TicketService {
    void sellTicket(String message);
}

项目结构如下:
image-20201230163612303

//需要和pr与provider服务相同路径的接口名
public interface TicketService {
    void sellTicket(String message);
}

项目结构如下:
[外链图片转存中…(img-glUdX9yP-1609317763736)]
image-20201230163642622



所属网站分类: 技术文章 > 博客

作者:java是世界上最好的语言

链接:http://www.javaheidong.com/blog/article/46091/6da49b70180c4a25a8fe/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

22 0
收藏该文
已收藏

评论内容:(最多支持255个字符)