ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Dubbo

2021-11-06 10:01:21  阅读:117  来源: 互联网

标签:Dubbo 调用 服务 -- zookeeper 注册 服务端


https://www.cnblogs.com/iscys/p/9563425.html

 

RPC:远程过程调用:实现跨工程,跨JVM的调用技术;

  provider :提供服务的服务方

  cousunmer:调用远程服务的消费方

  registry :服务注册与发现的注册中心

  monitor:统计服务调用次数与时间的调用中心

 

1.在生产中,我们都会使用zookeeper的注册中心,所有必须搭建zookeeper 注册中心,在我的随笔分布式中有关于zookeeper在linux的搭建!

2.搭建完成后,开始我们的Java代码:需要(1).服务端工程(2).消费者工程(3).interface接口----->服务端通过把接口发布到zookeeper,消费端进行通过zookeeper调用服务端的工程,服务端和消

费端是通过这个相同的接口进行数据的调用的!

3.服务端和消费端都必须导入pom依赖(这个看自己的版本):

 
    <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId> 
            <artifactId>spring</artifactId> 
                </exclusion>
            
            </exclusions>
        </dependency>
        
        <!-- zookeeper -->
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>
        
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.10</version>
            <exclusions>
                <exclusion>
                    <groupId>io.netty</groupId>
                    <artifactId>netty</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
 

 

4.接下来是服务端的配置文件:

 
    
     <!-- 配置服务端,基于注解 -->
    <dubbo:application name="provider"/>
    <!-- 注册中心 ,基于zookeeper-->
    <dubbo:registry address="zookeeper://192.168.241.129:2181"/>
    <!--<dubbo:protocol name="dubbo" port="20880"/>  -->
    
    <!-- 传统的xml配置 -->
    <!-- 配置接口地址+实现类(spring注册bean) -->
    <dubbo:service interface="com.project.provider.ProviderInterface" ref="providerService"/>
    <!-- <bean id="demoService" class="com.alibaba.dubbo.demo.provider.DemoServiceImpl"/>-->
    
    <!-- 注解扫描的方式,将类作为服务进行发布,实现的服务方法中必须加入@service注解,切记,这个注解是alibaba的service注解 -->
   <!--   <dubbo:annotation  package="com.cim.serviceimpl"></dubbo:annotation>-->
    
 

5.消费端的配置文件

 
      
     
     <!-- 配置消费端,基于注解 -->
    <dubbo:application name="customer"/>
    <!-- 注册中心 ,基于zookeeper-->
    <dubbo:registry address="zookeeper://192.168.241.129:2181"/>
    <!--<dubbo:protocol name="dubbo" port="20880"/>  -->
    
    <!-- 传统的xml配置 消费端-->
    <dubbo:reference id="provider" interface="com.project.provider.ProviderInterface"/>

    <!-- 注解扫描的方式,将类作为服务进行发布,
        消费端配置必须用注解方式的@reference进行调用方法 -->
    <!-- <dubbo:annotation  package="com.cim.ys.Controller"></dubbo:annotation> -->

 

项目拔下来的

 
 <!-- 配置服务应用名称 -->     
    <dubbo:application name="${dubbo.application}" />

    <!-- 使用zookeeper注册中心暴露服务地址 -->
    <!-- 注册中心地址 -->
    <dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" group="${dubbo.registry.group}" file="dubbo-registry/dubbo-registry.properties"/>
    
    <!-- 用dubbo协议在xx端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="${dubbo.protocol.port}" threads="40" />

 

  

原创打造,多多指教

标签:Dubbo,调用,服务,--,zookeeper,注册,服务端
来源: https://www.cnblogs.com/wangfx/p/15516035.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有