当前位置: 首页 > news >正文

网站首页是动态的视频怎么做现在网络推广哪家好

网站首页是动态的视频怎么做,现在网络推广哪家好,给自己的网站起名字,做网站更赚钱吗Dubbo基本使用 1.项目介绍2.开发步骤2.1 启动注册中心2.2 初始化项目2.3 添加 Maven 依赖2.3.1 父pom.xml2.3.1 consumer模块和provider模块pom.xml 2.4 定义服务接口2.5 定义服务端的实现2.6 配置服务端 Yaml 配置文件2.7 配置消费端 Yaml 配置文件2.8 基于 Spring 配置服务端…

Dubbo基本使用

  • 1.项目介绍
  • 2.开发步骤
    • 2.1 启动注册中心
    • 2.2 初始化项目
    • 2.3 添加 Maven 依赖
      • 2.3.1 父pom.xml
      • 2.3.1 consumer模块和provider模块pom.xml
    • 2.4 定义服务接口
    • 2.5 定义服务端的实现
    • 2.6 配置服务端 Yaml 配置文件
    • 2.7 配置消费端 Yaml 配置文件
    • 2.8 基于 Spring 配置服务端启动类
    • 2.9 基于 Spring 配置消费端启动类
    • 2.10 配置消费端请求任务
    • 2.11 启动应用

1.项目介绍

在本任务中,将分为 3 个子模块进行独立开发,模拟生产环境下的部署架构。

 // apache/dubbo-samples/1-basic/dubbo-samples-spring-boot
├── dubbo-samples-spring-boot-interface       // 共享 API 模块
├── dubbo-samples-spring-boot-consumer        // 消费端模块
└── dubbo-samples-spring-boot-provider        // 服务端模块

如上所示,共有 3 个模块,其中 interface 模块consumerprovider 两个模块共同依赖,存储 RPC 通信使用的 API 接口。

.  // apache/dubbo-samples/1-basic/dubbo-samples-spring-boot
├── dubbo-samples-spring-boot-interface       // 共享 API 模块
│   ├── pom.xml
│   └── src
│       └── main
│           └── java
│               └── org
│                   └── apache
│                       └── dubbo
│                           └── springboot
│                               └── demo
│                                   └── DemoService.java // API 接口
├── dubbo-samples-spring-boot-consumer        // 消费端模块
│   ├── pom.xml
│   └── src
│       ├── main
│       │   ├── java
│       │   │   └── org
│       │   │       └── apache
│       │   │           └── dubbo
│       │   │               └── springboot
│       │   │                   └── demo
│       │   │                       └── consumer
│       │   │                           ├── ConsumerApplication.java // 消费端启动类
│       │   │                           └── Task.java                // 消费端模拟调用任务
│       │   └── resources
│       │       └── application.yml       // Spring Boot 配置文件
├── dubbo-samples-spring-boot-provider        // 服务端模块
│   ├── pom.xml
│   └── src
│       └── main
│           ├── java
│           │   └── org
│           │       └── apache
│           │           └── dubbo
│           │               └── springboot
│           │                   └── demo
│           │                       └── provider
│           │                           ├── DemoServiceImpl.java         // 服务端实现类
│           │                           └── ProviderApplication.java     // 服务端启动类
│           └── resources
│               └── application.yml       // Spring Boot 配置文件
└── pom.xml

如上为本教程接下来会使用到的项目的文件结构。

2.开发步骤

2.1 启动注册中心

对于一个微服务化的应用来说,注册中心是不可或缺的一个组件。只有通过注册中心,消费端才可以成功发现服务端的地址信息,进而进行调用。
zookeeper的使用不放在本章中说明。

2.2 初始化项目

使用idea创建如下的一个项目结构
在这里插入图片描述

2.3 添加 Maven 依赖

在初始化完项目以后,我们需要先添加 Dubbo 相关的 maven 依赖。在最外层的pom及父项目的pom.xml增加配置依赖信息。

2.3.1 父pom.xml

<properties><dubbo.version>3.2.0-beta.4</dubbo.version><spring-boot.version>2.7.8</spring-boot.version><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties><dependencyManagement><dependencies><!-- Spring Boot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><!-- Dubbo --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-bom</artifactId><version>${dubbo.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-dependencies-zookeeper-curator5</artifactId><version>${dubbo.version}</version><type>pom</type></dependency></dependencies>
</dependencyManagement><build><pluginManagement><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version></plugin></plugins></pluginManagement>
</build>

2.3.1 consumer模块和provider模块pom.xml

编辑 /dubbo-spring-boot-consumer/pom.xml 和 /dubbo-spring-boot-provider/pom.xml 这两文件,都添加下列配置。

<dependencies><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-samples-spring-boot-interface</artifactId><version>${project.parent.version}</version></dependency><!-- dubbo --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-dependencies-zookeeper-curator5</artifactId><type>pom</type><exclusions><exclusion><artifactId>slf4j-reload4j</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions></dependency><!-- spring boot starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency></dependencies>

在这份配置中,定义了 dubbo 和 zookeeper(以及对应的连接器 curator)的依赖。

2.4 定义服务接口

在 dubbo-spring-boot-demo-interface 模块下建立 DemoService 接口,定义如下:

package org.apache.dubbo.springboot.demo;public interface DemoService {String sayHello(String name);
}

在 DemoService 中,定义了 sayHello 这个方法。后续服务端发布的服务,消费端订阅的服务都是围绕着 DemoService 接口展开的。

2.5 定义服务端的实现

定义了服务接口之后,可以在服务端这一侧定义对应的实现,这部分的实现相对于消费端来说是远端的实现,本地没有相关的信息。

在dubbo-spring-boot-demo-provider 模块的下建立 DemoServiceImpl 类,定义如下:

package org.apache.dubbo.springboot.demo.provider;import org.apache.dubbo.config.annotation.DubboService;
import org.apache.dubbo.springboot.demo.DemoService;@DubboService
public class DemoServiceImpl implements DemoService {@Overridepublic String sayHello(String name) {return "Hello " + name;}
}

在 DemoServiceImpl 中,实现了 DemoService 接口,对于 sayHello 方法返回 Hello name。

注:在DemoServiceImpl 类中添加了 @DubboService 注解,通过这个配置可以基于 Spring Boot 去发布 Dubbo 服务。

2.6 配置服务端 Yaml 配置文件

在 dubbo-spring-boot-demo-provider 模块的 resources 资源文件夹下建立 application.yml 文件,定义如下:

dubbo:application:name: dubbo-springboot-demo-providerprotocol:name: dubboport: -1registry:address: zookeeper://${zookeeper.address:127.0.0.1}:2181

在这个配置文件中,定义了 Dubbo 的应用名、Dubbo 协议信息、Dubbo 使用的注册中心地址。

2.7 配置消费端 Yaml 配置文件

在 dubbo-spring-boot-demo-consumer 模块的 resources 资源文件夹下建立 application.yml 文件,定义如下:

dubbo:application:name: dubbo-springboot-demo-consumerprotocol:name: dubboport: -1registry:address: zookeeper://${zookeeper.address:127.0.0.1}:2181

在这个配置文件中,定义了 Dubbo 的应用名、Dubbo 协议信息、Dubbo 使用的注册中心地址。

2.8 基于 Spring 配置服务端启动类

在 dubbo-spring-boot-demo-provider 模块下建立 Application 类,定义如下:

package org.apache.dubbo.springboot.demo.provider;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@EnableDubbo
public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class, args);}
}

在这个启动类中,配置了一个 ProviderApplication 去读取我们前面第 6 步中定义的 application.yml 配置文件并启动应用。

2.9 基于 Spring 配置消费端启动类

在 dubbo-spring-boot-demo-consumer 模块下建立 Application 类,定义如下:

package org.apache.dubbo.springboot.demo.consumer;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);}
}

在这个启动类中,配置了一个 ConsumerApplication 去读取我们前面第 7 步中定义的 application.yml 配置文件并启动应用。

2.10 配置消费端请求任务

在 dubbo-spring-boot-demo-consumer 模块下建立 Task 类,定义如下:

package org.apache.dubbo.springboot.demo.consumer;import java.util.Date;import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.dubbo.springboot.demo.DemoService;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;@Component
public class Task implements CommandLineRunner {@DubboReferenceprivate DemoService demoService;@Overridepublic void run(String... args) throws Exception {String result = demoService.sayHello("world");System.out.println("Receive result ======> " + result);new Thread(()-> {while (true) {try {Thread.sleep(1000);System.out.println(new Date() + " Receive result ======> " + demoService.sayHello("world"));} catch (InterruptedException e) {e.printStackTrace();Thread.currentThread().interrupt();}}}).start();}
}

在 Task 类中,通过@DubboReference 从 Dubbo 获取了一个 RPC 订阅,这个 demoService 可以像本地调用一样直接调用。在 run方法中创建了一个线程进行调用。

2.11 启动应用

首先是启动provider模块的Application ,等待一会出现如下日志(Current Spring Boot Application is await)即代表服务提供者启动完毕,标志着该服务提供者可以对外提供服务了。

[Dubbo] Current Spring Boot Application is await...

然后是启动consumer模块的Application ,等待一会出现如下日志(Hello world )即代表服务消费端启动完毕并调用到服务端成功获取结果。

Receive result ======> Hello world
http://www.tj-hxxt.cn/news/15814.html

相关文章:

  • 网站开发安全性分析百度官网网站登录
  • 网站前端开发seo优化诊断
  • joomla 转 wordpressseo站长工具 论坛
  • 手机创新网站百度服务电话
  • 深圳网络专科网站建设百度seo工具
  • 调兵山网站建设域名查询站长之家
  • 合肥瑶海区网站建设价格建网站需要多少钱和什么条件
  • 做网站c 和java那个好windows优化大师下载安装
  • 淘宝做网站seo搜索引擎推广什么意思
  • 西安优化网站公司自助建站系统代理
  • 网站备案需要几天哪有网页设计公司
  • 天津建设工程信息网密码网络优化培训骗局
  • 有哪些免费做外贸网站百度网址安全中心
  • 阿拉尔市建设局网站怎么样做seo
  • 销售型网站如何做推广seo对网站优化
  • 网站开发的图片模板建站和开发网站区别
  • eclipse怎么做网站网站分析案例
  • html5 图片展示网站怎么在百度上推广自己的产品
  • 南昌网站开发技术湖南百度推广代理商
  • logo免费生成网站百度查关键词显示排名
  • 用app怎么样建网站淘宝代运营1个月多少钱
  • 中国e网网站建设bt磁力
  • 怎么做卖衣服网站nba最新排名东西部
  • 分享型wordpress淘宝客主题优化大师windows
  • 阿里云建站流程seo网络优化前景怎么样
  • 在哪建网站360免费建站网页链接
  • 厦门建站价格网站推广属于哪些
  • wordpress 归档 如何使用广州推动优化防控措施落地
  • 建设一个网站需要多长时间seo排名第一的企业
  • 国内单页面网站网址导航怎样推广