springboot整合dubbo之dubbo管理平台搭建以及服务搭建SpringBoot 学习笔记(第五天)

终于要开始进入正题了,但是越接近内部,越接近代码的部分,往往问题越多!以此文警示后来者,坑多,慎踩!

1.搭建dubbo管理平台

首先,到官网去下载dubbo的包,但是管理平台只会用到其中的dubbo-admin的包。官网的现在最新版本并没有dubbo-admin这个包,你得去找找它的历史版本。最后一个有这个的是2.5版本。传送门:dubbo-admin

那么,现在拿到包了,将dubbo-admin的那个文件夹复制一份,比如我是放在E盘的根目录。然后win+R组合键打开运行,输入cmd,打开命令行。进入dubbo-admin目录, 输入:jar -cvf dubbo-admin.war . 打成war包。如果你打的war包没法用的话,可以试试我的:链接: https://pan.baidu.com/s/1b2DSNNqkZbCGNVerQc_eNQ 提取码: krnh

将war包放入Tomcat的webapps目录中

启动zookeeper,启动Tomcat。

我的Tomcat端口是9999,dubbo的文件名是dubbo-admin-2.5.4,所以在浏览器输入127.0.0.1:9999/dubbo-admin-2.5.4。回车之后会出现如下弹框,账号密码都是root

进入之后的效果如下:

这样,dubbo的平台就搭建好了。

2.服务者的搭建

我用idea搭建的springboot,前期建立工程的流程跟建普通springboot工程的流程一样。直接上图

点击finish,工程就建好了。接下来就是配置工程。

 

首先,为pom.xml文件添加jar包依赖

<!--分布式配置-->
		<dependency>
			<groupId>com.alibaba.boot</groupId>
			<artifactId>dubbo-spring-boot-starter</artifactId>
			<version>0.2.0</version>
		</dependency>

		<!-- Dubbo -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.6.5</version>
		</dependency>
		<!-- Spring Context Extras -->
		<dependency>
			<groupId>com.alibaba.spring</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>1.0.2</version>
		</dependency>
		<dependency>
			<groupId>io.netty</groupId>
			<artifactId>netty-all</artifactId>
			<version>4.1.24.Final</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.7</version>
		</dependency>

接下来是创建接口类

package com.htc;

public interface TestSayHello {
    public String sayHello(String str);
}

然后是实现类

package com.htc;


import com.alibaba.dubbo.config.annotation.Service;

@Service(version = "1.0.0")
public class TestSayHelloImp implements TestSayHello {
    public String sayHello(String str){
        return  str+"say: Hello World!";
    }

}

接下来是application.properties 文件

#为项目配置的端口号,默认是8081
server.port=8088

##zookeeper公共配置
#这个项目的名称
dubbo.application.name=provider

#这个项目对应的zookeeper服务器
dubbo.registry.address=zookeeper://127.0.0.1:2181

#spring.dubbo.protocol.name=dubbo

#对外暴露的端口号
#spring.dubbo.protocol.port=20880

#扫描的包路径
dubbo.scan.basePackages=com.htc

dubbo.registry.id = my-registry

启动zookeeper,启动Tomcat

打开管理平台

至此,生产者已经搭建成功。

3.消费者搭建

和生产者类似,建立一个DubboConsumer

同样的,先把依赖导进去,和服务者的依赖是一样的,就不写了。然后在与服务者位置相同的地方创建一个相同的接口类

package com.htc;

public interface TestSayHello {
    public String sayHello(String str);
}

 消费者的启动项

package com.htc;

import com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import javax.annotation.PostConstruct;

@SpringBootApplication
public class DubboconsumerApplication {
    @Reference(version="1.0.0")
    private TestSayHello testSayHello;


    public static void main(String[] args) {
        SpringApplication.run(DubboconsumerApplication.class, args);
    }
    @PostConstruct
    public void init(){
        System.out.println(testSayHello.sayHello("mark"));
    }
}

最后就是配置文件了

#zookeeper公共配置
server.port=8083
# Dubbo Config properties
## ApplicationConfig Bean
dubbo.application.name= client

## RegistryConfig Bean
dubbo.registry.id = my-registry
dubbo.registry.address = zookeeper://127.0.0.1:2181

##thymeleaf配置是为了controller调用做管理的,如果像我一样写在启动项里就不用配置了
#thymeleaf start
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.servlet.content-type=text/html
#开发时关闭缓存,不然没法看到实时页面
spring.thymeleaf.cache=false

#static 文件夹下的静态文件访问路径
spring.mvc.static-path-pattern=/static/**
#thymeleaf end

开启zookeeper,开启Tomcat,开启服务者,开启消费者,如果没问题的话,应该就是长这样了

 

------------------------------------------------------------------雷区警戒线----------------------------------------------------------------------------

坑1:dubbo根本挂载不上去?

填坑:网上有很多关于分布式搭建的教程,但基本上都是1.X版本的,现在的2.X版本用不上,是由于我使用的是springboot2.X的版本,所以那些教程都不适用,jar包依赖根本不行。我个人推荐一个到 dubbo的官网去逛逛,它上面有springboot 整合dubbo的资料还是挺受用的,另外它还可以在线生成分布式项目。

(由于个人也没怎么学精,所以一切都是根据官方的东西搭建的,没踩什么坑,如果后期有问题我会继续在这里补充的,如果大家有啥坑,请留言)

传送门:dubbo官网 

springboot 整合dubbo官方平台

在线生成springboot整合dubbo项目

--------------------------------------------------------------我不是系统的生产者,我只是bug的搬运工----------------------------------------

上一篇文章:SpringBoot学习笔记(第四天) zookeeper 伪分布式搭建

下一篇文章:activity MQ 做简单的即时聊天工具

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值