资讯详情

Dubbo初始

Dubbo架构

image-20220311161430200

消费者:调用提供商,但不能直接调用,需要注册中心的帮助

节点角色说明:

●Provider:暴露服务的服务提供者 ●Container: 服务操作容器 ●Consumer: 服务消费者调用远程服务 ●Registry:注册中心的服务注册和发现 ●Monitor:监控中心统计服务的调用次数和调用时间

0start:服务提供商应在容器中运行,例如tomcat里面,需要将tomcat启动起来。

1注册:启动后,服务将注册到注册中心(调用服务)ip、发布端口和服务url放入注册中心。

2.subscribe:我想调用提供商提供的服务。这时,我去了注册中心(告诉服务中心向消费者提供服务的相关信息)

3.notify:消费者需要一次服务,注册中心需要一次。

此时,消费者获得服务信息

4.invoke:就是rpc调用过程。我们不需要管,dubbo内部自动实现。

5.Monitor:服务监控。统计服务调用了多少次。

asyn:异步。sync:同步。只有rpc调用时同步,其他都是异步。

Zookeeper安装

先安装java1.8

减压,进入配置文件夹,复制配置文件,修改内部配置,使其生效。复制会话窗口,创建目录,并将目录复制并修改到配置文件中。zk

zk默认端口为2181

Mode:standalone(目前没有建集群,单节点运行)

Dubbo快速入门

注意这里的controller调用service是远程调用,两个工程分别部署在两台机器上。

jar包依赖

        <!--Dubbo起步依赖,版本2.7之后统一为rg.apache.dubb -->         <dependency>             <groupId>org.apache.dubbo</groupId>             <artifactId>dubbo</artifactId>             <version>${ 
        dubbo.version}</version>         </dependency>         <!--ZooKeeper客户端实现 -->         <dependency>             <groupId>org.apache.curator</groupId>             <artifactId>curator-framework</artifactId>             <version>${ 
        zookeeper.version}</version>        </dependency>
        <!--ZooKeeper客户端实现 -->
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>${ 
        zookeeper.version}</version>
        </dependency>

开始配置dubbo

<?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://dubbo.apache.org/schema/dubbo" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

   <!--spring包扫描-->
   <!--<context:component-scan base-package="com.itheima.service"/>-->

   <!--dubbo的配置-->
   <!--1、配置项目的名称,唯一-->
   <dubbo:application name="dubbo-service"/>
   <!--2、配置注册中心的地址-->
   <dubbo:registry address="zookeeper://101.42.248.44:2181"/>
   <!--3、配置dubbo包扫描-->
   <dubbo:annotation package="com.itheima.service.impl"/>


</beans>

添加spring的配置,让其扫描加载刚在配置dubbo的配置文件applicationContext.xml

配置zk

上面的扫描时扫面springmvc的注解

<?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://dubbo.apache.org/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

    <!--打开注解驱动-->
    <mvc:annotation-driven/>
    <!--扫描包-->
    <context:component-scan base-package="com.itheima.controller"/>

    <!--dubbo的配置-->
    <!--1、配置项目的名称,唯一-->
    <dubbo:application name="dubbo-web">
        <dubbo:parameter key="qos.port" value="33333"/>
    </dubbo:application>
    <!--2、配置注册中心的地址-->
    <dubbo:registry address="zookeeper://101.42.248.44:2181"/>
    <!--3、配置dubbo包扫描-->
    <dubbo:annotation package="com.itheima.controller"/>
</beans>

创建一个公共接口模块,减少重复代码开发,易于接口调用

标签: 吸收薄膜电容器xsd系列

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司