iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Spring与Dubbo搭建一个简单的分布式详情
  • 756
分享到

Spring与Dubbo搭建一个简单的分布式详情

2024-04-02 19:04:59 756人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、ZooKeeper 环境安装搭建二、实现服务接口 dubbo-interface1. dubbo-interface 项目创建2. 创建接口类3. 将项目打成 jar 包供其

一、zookeeper 环境安装搭建

搭建 zookeeper 之前要确保当前的机器已经有 jdk 环境。

我使用的是 Centos 7.5 华为云服务器

注意:如果你也同样华为云服务器必须配置一个安全组,不然你的应用程序会无法访问你的 zookeeper 服务器,这一点我在后面也提到了。

二、实现服务接口 dubbo-interface

主要分为下面几步:

  • 创建 Maven 项目;
  • 创建接口类
  • 将项目打成 jar 包供其他项目使用

项目结构:

r

dubbo-interface 后面被打成 jar 包,它的作用只是提供接口。

1. dubbo-interface 项目创建

​File->New->Module...​​ ,然后选择 Maven类型的项目,其他的按照提示一步一步走就好。

2. 创建接口类

public interface HelloService {
public String sayHello(String name);
}

3. 将项目打成 jar 包供其他项目使用

点击右边的 ​​Maven Projects​​ 然后选择 install ,这样 jar 包就打好了。

三、实现服务提供者 dubbo-provider

主要分为下面几步:

  • 创建 SpringBoot 项目;
  • 加入 dubbo 、zookeeper以及接口的相关依赖 jar 包;
  • 在 application.properties 配置文件中配置 dubbo 相关信息;
  • 实现接口类;
  • 服务提供者启动类编写

项目结构:

1. dubbo-provider 项目创建

创建一个 springBoot 项目,注意勾选上 WEB 模块。

2. pom 文件引入相关依赖

需要引入 dubbo 、zookeeper以及接口的相关依赖 jar 包。注意将本项目和 ​​dubbo-interface​​ 项目的 ​​dependency​​ 依赖的 ​​groupId​​ 和 ​​artifactId​​ 改成自己的。

dubbo 整合Spring Boot 的 jar 包在这里找​​dubbo-spring-boot-starter​​。zookeeper 的 jar包在 Maven 仓库 搜索 ​​zkclient​​ 即可找到。

<dependency>
<groupId>top.snailclimb</groupId>
<artifactId>dubbo-interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--引入dubbo的依赖-->
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!-- 引入zookeeper的依赖 -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>

3. 在 application.properties 配置文件中配置 dubbo 相关信息

配置很简单,这主要得益于 springboot 整合 dubbo 专属的​​@EnableDubboConfiguration​​ 注解提供的 Dubbo 自动配置。

# 配置端口
server.port=8333
spring.dubbo.application.name=dubbo-provider
spring.dubbo.application.reGIStry=zookeeper://ip地址:2181

4. 实现接口

注意:​​@Service​​ 注解使用的时 Dubbo 提供的而不是 Spring 提供的。另外,加了Dubbo 提供的 ​​@Service​​ 注解之后还需要加入

import com.alibaba.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;
import top.snailclimb.service.HelloService;

@Component
@Service
public class HelloServiceImpl implements HelloService {
@Override
public String sayHello(String name){
return "Hello " + name;
}
}

5. 服务提供者启动类编写

注意:不要忘记加上 ​​@EnableDubboConfiguration​​ 注解开启Dubbo 的自动配置。

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

@SpringBootApplication
// 开启dubbo的自动配置
@EnableDubboConfiguration
public class DubboProviderApplication {
public static void main(String[] args){
SpringApplication.run(DubboProviderApplication.class, args);
}
}

四、实现服务消费者 dubbo-consumer

主要分为下面几步:

  • 创建 springboot 项目;
  • 加入 dubbo 、zookeeper以及接口的相关依赖 jar 包;
  • 在 application.properties 配置文件中配置 dubbo 相关信息;
  • 编写测试类;
  • 服务消费者启动类编写
  • 测试效果

项目结构:

第1,2,3 步和服务提供者的一样,这里直接从第 4 步开始。

4. 编写一个简单 Controller 调用远程服务

import com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import top.snailclimb.service.HelloService;

@RestController
public class HelloController {
@Reference
private HelloService helloService;

@RequestMapping("/hello")
public String hello(){
String hello = helloService.sayHello("world");
System.out.println(helloService.sayHello("CrazyK"));
return hello;
}
}

5. 服务消费者启动类编写

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

@SpringBootApplication
@EnableDubboConfiguration
public class DubboConsumerApplication {

public static void main(String[] args){

SpringApplication.run(DubboConsumerApplication.class, args);
}
}

五、测试

浏览器访问 ​Http://localhost:8330/hello​​ 页面返回 ​​Hello world​​,控制台输出Hello SnailClimb​​,和预期一致,使用SpringBoot+Dubbo 搭建第一个简单的分布式服务实验成功!

到此这篇关于Spring与Dubbo搭建一个简单的分布式详情的文章就介绍到这了,更多相关Spring Dubbo搭分布式内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Spring与Dubbo搭建一个简单的分布式详情

本文链接: https://www.lsjlt.com/news/166202.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring与Dubbo搭建一个简单的分布式详情
    目录一、zookeeper 环境安装搭建二、实现服务接口 dubbo-interface1. dubbo-interface 项目创建2. 创建接口类3. 将项目打成 jar 包供其...
    99+
    2024-04-02
  • Dubbo+zookeeper 最简单的分布式搭建方案
    目录Dubbo+zookeeper 最简单的分布式搭建Dubbo 是什么Dubbo 架构流程图架构搭建案例1.zookpeeper 安装2.创建maven工程3.dubbo-admi...
    99+
    2024-04-02
  • Dubbo+zookeeper最简单的分布式怎么搭建
    这篇文章主要介绍“Dubbo+zookeeper最简单的分布式怎么搭建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Dubbo+zookeeper最简单的分布式怎么搭建”文章能帮助大家解决问题。Du...
    99+
    2023-06-29
  • Dubbo+zookeeper搭配分布式服务的过程详解
    目录分布式架构: Dubbo 是什么Dubbo:思想:依赖:分布式架构:  1.当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐...
    99+
    2024-04-02
  • php搭建一个简单的网站
    构建一个 PHP 网站涉及以下步骤: 1. 准备环境,安装 PHP 开发环境和创建网站根目录。 2. 创建基本文件结构,包括首页 index.php 和其他所需文件。 3. 编写首页内...
    99+
    2024-04-02
  • 搭建JEESZ分布式架构5--Dubbo管控台的安装
    Dubbo管控台的安装1.     Dubbo管理控制台的主要作用:对Dubbo服务管控注意:Dubbo 管控台可以对注册到 zookeeper 注册中心的服务...
    99+
    2023-06-03
  • php怎么搭建一个简单的网站
    要搭建一个简单的网站,你可以按照以下步骤进行操作: 安装PHP:首先,在你的服务器或本地环境上安装PHP。你可以从PHP官方网站下...
    99+
    2024-04-09
    php
  • 如何搭建一个简单的PHP网站
    这篇文章主要介绍了如何搭建一个简单的PHP网站的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何搭建一个简单的PHP网站文章都会有所收获,下面我们一起来看看吧。第一步,搭建 Web 服务器在设置任何网站之前,您...
    99+
    2023-07-05
  • 怎么搭建一个简单的Hadoop集群
    搭建一个简单的Hadoop集群可以分为以下几个步骤: 准备环境:确保每台服务器上安装了Java环境,并且关闭防火墙和SELinu...
    99+
    2024-03-11
    Hadoop
  • 如何使用php搭建一个简单的网站
    要使用PHP搭建一个简单的网站,您可以按照以下步骤进行操作:1. 安装PHP:首先,您需要在您的计算机上安装PHP。您可以从PHP官...
    99+
    2023-08-24
    php
  • Go语言实战之实现一个简单分布式系统
    目录引子思路实战节点通信主节点工作节点将它们放在一起代码效果总结引子 如今很多云原生系统、分布式系统,例如 Kubernetes,都是用 Go 语言写的,这是因为 Go 语言天然支持...
    99+
    2024-04-02
  • Spring更简单的存储方式与获取方式详解
    目录存储方式(注解)@Controller@Service@Repository@Configuration@Component方法注解@Bean重命名bean五大注解之间的关系从S...
    99+
    2024-04-02
  • 从零开始,搭建一个简单的UVM验证平台(一)
    前言:         这篇系列将从0开始搭建一个UVM验证平台,来帮助一些学习了SV和UVM知识,但对搭建完整的验证环境没有概念的朋友。 UVM前置基础: 1.UVM基础-factory机制、phase机制 2.UVM基础-组件(...
    99+
    2023-08-31
    java 服务器 数据库
  • 如何使用HTML和CSS创建一个响应式商品详情布局
    在当今移动互联网的时代,响应式网页设计已经成为了现代网页设计的标配。而商品详情页作为电商网站中重要的页面之一,其响应式设计显得尤为重要。本文将介绍如何使用HTML和CSS创建一个响应式商品详情布局,并附上具体的代码示例。HTML 结构首先,...
    99+
    2023-10-21
    响应式 CSS html
  • VUE搭建分布式医疗挂号系统的前台预约挂号步骤详情
    目录一、预约挂号系统前台搭建(1)服务端渲染技术SSR服务器端渲染SSR的优点:(2)使用Nuxt.js搭建前端环境1.下载并解压Nuxt2.修改package.json3.修改nu...
    99+
    2024-04-02
  • 如何使用PHP和MySQL搭建一个简单的算命网站
    算命是一种古老的传统文化,对于很多人来说,算命可以帮助他们解决一些问题,预知未来的发展趋势。现在,我们将通过开源算命的 php 源码来帮助那些想要自己搭建算命网站的人。 一、搭建环境 首先,我们需要搭建一个 php 环境,这里我们使用的是 ...
    99+
    2023-10-21
    数据库 php mysql
  • vue实现一个简单的分页功能实例详解
    这是一个简单的分页功能,只能够前端使用,数据不能通过后台服务器进行更改,能容已经写死了。 下面的内容我是在做一个关于婚纱项目中用到的,当时好久没用vue了,就上网区找了别人的博客来看...
    99+
    2022-12-24
    vue分页功能 vue实现一个简单的分页功能
  • 如何使用HTML和CSS实现一个简单的层叠式布局
    层叠式布局是前端开发中常见的一种布局方式,它可以实现多个元素的层叠排列,给网页增加美观性和交互效果。在本文中,我们将介绍如何使用HTML和CSS实现一个简单的层叠式布局,并提供具体的代码示例。首先,我们创建一个HTML文件,并添加以下代码:...
    99+
    2023-10-21
    CSS html 层叠式布局
  • Unity使用webSocket与服务器通信(一)搭建一个简单地服务器和客户端
    你想在unity WebGL里面使用TCP通信吗,那么你可以用一用webSocket。当然,桌面端也可以使用webSocket,这样Unity多平台发布的时候,业务层的通信代码可以使用一套,而不是桌面用socket,网页用http… 一、什...
    99+
    2023-08-19
    unity websocket C# 服务器
  • 收藏 | 第一次有人把“分布式事务”讲的这么简单明了
    又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交钱一手交货。有了事务,你去网上购物,扣款即产生订单交易。事务的具体定义事务...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作