springboot+dubbo+zookeeper +阿里云(centos7.3)搭建一个简单的分布式服务

原创不易,如果有转载需要的话,请在首行附上本文地址,谢谢。

最近对分布式感兴趣,对此进行了一些基础的研究和尝试,现在整理成博客给大家参考。虽然本文搭建的是简单的分布式服务,但想要成功地在服务器上跑起来还是费了很长时间,一是本人才接触不久可能对相关知识不太熟悉,二是在搭建的过程中的确也遇到了一些坑,为了让更多刚开始接触分布式的新同学能够快速地搭建一个简单的分布式服务,我将自己搭建的每一个步骤都详细地书写了,方便大家自己搭建。

本文要用到zookeeper 做注册中心,所以要在阿里云服务器中安装好此环境,没有安装的同学可以参考我上篇博客

https://blog.csdn.net/wangyuxi__/article/details/89814685 ,里面有具体的安装过程。

本文的代码将上传至GitHub上https://github.com/yuxiwang66/springboot-dubbo-zookeeper,给需要的同学参考,欢迎star

正文开始:

第一步

创建一个空的maven项目命名SpringBoot-dubbo-zookeeper,用来存放后面创建的dubbo-interface,dubbo-provider,dubboconsumer文件

最终完整项目的目录结构见下面两图

 

第二步

创建服务接口 dubbo-interface

(1)首先在File 中选择新建Module

(2)选择maven,不选择骨架创建,直接默认创建

(3)本文输入以下信息

(4)本文按照下图创建接口类

 

(5)选择右边maven project 服务中的install 打包jar供其它项目使用

第三步

创建服务提供者dubbo-provider

(1)按照下图创建名为dubbo-provider的springboot项目

(2)本文按照下图填写相关信息

(3)选择web

(4)在dubbo-provider中的pom添加下面代码框中的依赖(dubbo、zookeeper依、接口依赖)

		<!--引入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>
		<!--引入接口-->
		<dependency>
			<groupId>com.yuxi</groupId>
			<artifactId>dubbo-interface</artifactId>
			<version>1.0-SNAPSHOT</version>
		</dependency>

 

(5)实现接口

(6)在dubbo-provider中的resources 中的application.properties 配置下面代码框中的dubbo信息

 

(7)服务提供者启动类编写

第四步

实现服务消费者 dubbo-consumer

(1)创建dubbo-consumer的springboot项目 

(2)选择web

(3)在dubbo-consumer 添加下面代码框中的依赖(细心的同学会发现和provider的一样)

		<!--引入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>
		<!--引入接口-->
		<dependency>
			<groupId>com.yuxi</groupId>
			<artifactId>dubbo-interface</artifactId>
			<version>1.0-SNAPSHOT</version>
		</dependency>

 

(4)编写一个controller调用远程服务

(5)在dubbo-consumer中的resources 中的application.properties 配置下面代码框中的dubbo信息,和provider不同的地方已标注

(6)服务消费者启动类编写

第五步

测试效果

为了能够仔细地观测到zookeeper注册中心是否注册服务,这里需要在服务器上安装一个dubbo-admin,由于本篇博客为了详细地叙述,篇幅太长了,这里不做讲解,我单独写了一篇安装dubbo-admin。没有安装的同学移步——》在服务器上安装dubbo管理控制台:   https://blog.csdn.net/wangyuxi__/article/details/89839993

(1)启动dubbo-provider

(2)在浏览器中输入服务器公网ip:8080/dubbo-admin-2.6.0,选择governance 中的providers查看是否有服务注册,下图可以看出已成功注册provider服务。

(3)启动dubbo-consumer,选择comsumers查看是否有消费者

(4)最终测试,在浏览器中输入localhost:8013/hello,若在屏幕显示Hello,world,表示成功,控制台同样输出Hello,yuxi

控制台输出

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个开源的Java框架,用于快速构建独立的、基于Spring的应用程序。它简化了Spring应用程序的配置和部署过程,并提供了许多嵌入式服务器,如Tomcat、Jetty等。Spring Boot还提供了自动配置的特性,可以根据类路径中的依赖自动配置Spring应用程序。 Dubbo是一款高性能的分布式服务框架,也是阿里巴巴开源的项目。它提供了服务治理、远程通讯和分布式调用等功能,帮助开发人员轻松构建分布式服务化的应用。 Zookeeper一个开源的分布式协调服务,可以用于实现分布式应用程序的一致性和可靠性。它提供了一个类似于文件系统的层次化的命名空间,并允许开发人员注册、协调和共享各种资源,如配置信息、服务注册和发现等。 当使用Spring Boot结合DubboZookeeper时,可以构建一个高性能、可扩展和可靠的微服务架构。Spring Boot提供了便利的开发和部署方式,Dubbo提供了分布式服务框架的支持,而Zookeeper则提供了分布式协调服务。开发人员可以使用Spring Boot快速构建独立的微服务应用程序,使用Dubbo进行服务间的通信和管理,同时通过Zookeeper进行服务的注册和发现。这样的架构可以方便地实现微服务架构中的资源共享和服务治理等功能,大大简化了开发人员的负担。 综上所述,Spring Boot结合DubboZookeeper可以构建高效、可靠的微服务架构,并提供了便利的开发和部署方式,帮助开发人员构建高性能的分布式应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值