博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring整合Dubbo/Dubbo总结(二)
阅读量:3960 次
发布时间:2019-05-24

本文共 3690 字,大约阅读时间需要 12 分钟。

该篇博客手把手教你,如何使用Dubbo搭起来一个简单的分布式应用

 

关于配套课程

分享一下自己淘到的配套课程,尚硅谷Dubbo核心精讲实战

链接:

 

关于zookeeper

zookeeper   win免安装版

链接:https://pan.baidu.com/s/1RngLtnt-nEl9361E84n03g   提取码:0est

使用方式,解压后进入bin目录,双击zkServer.cmd即可

 

环境搭建

一、控制台

 

链接:https://pan.baidu.com/s/1AXDTzRB_5jsds5nN8a_Lig   提取码:2w00

1、运行项目

记得先把本机的zookeeper启起来

控制台即dubbo-admin,链接解压后可以看到一个dubbo-admin的目录,

这个目录其实就是上一篇总结,所说的dubbo控制中心。dubbo-admin

这个目录本身就是一个SpringBoot项目,所以直接将它在IDEA中打开即可,然后运行DubboAdminApplication

(如果不知道如何打开本地springboot项目,请在文章下方留言或私信)

 

2、访问端口

dubbo-admin项目启动起来后,访问 localhost:7001

用户名密码,均为root

 

3、登录成功

登录成功后就可以看到这样一个界面,这就表示控制台搭建成功

二、整体架构

 

关于为什么要设计成API,生产者,消费者这样的模式,视频已经介绍的很清楚了,这里就只详细记录关于实现的部分

1、新建一个SpringBoot项目,artifactId为demo

具体操作步骤()

 

2、搭建整体架构

如上,项目整体架构图

右击demo——>new——>module

 

后续的步骤和新建SpringBoot项目一致,

只需要把artifactId改为API,consumer,provider即可,这样项目整体架构就搭建起来了

三、API

 

1、API 图

pom文件不需要引入其他依赖,改动处只有红框部分

 

2、Student实体类

实体类要实现 Java序列化接口

public class Student implements Serializable {    private String id;    private String name;    private Integer age;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    @Override    public String toString() {        return "Student{" +                "id='" + id + '\'' +                ", name='" + name + '\'' +                ", age=" + age +                '}';    }}

 

3、StudentService接口

public interface StudentService {    Student getStudentById(String id);}

四、生产者

 

1、引入依赖

Pom文件中引入Dubbo和Zookeeper客户端依赖

com.alibaba
dubbo
2.6.2
org.apache.curator
curator-framework
2.12.0

引入API的依赖

com.example
api
0.0.1-SNAPSHOT

 

2、StudentServiceImpl

public class StudentServiceImpl implements StudentService {        /*    * 1、将服务提供者注册到注册中心    * 1.1导入dubbo的依赖(2.6.2)/操作zookeeper的客户端(curator)    *1.2配置服务提供者    * */    @Override    public Student getStudentById(String id) {        Student student = new Student();        student.setId(id);        student.setName("小明");        student.setAge(10);        return student;    }}

 

3、provider.xml

 

4、MainApplication

public class MainApplication {    public static void main(String[] args) throws IOException {        ClassPathXmlApplicationContext ioc = new ClassPathXmlApplicationContext("provider.xml");        ioc.start();        System.in.read();    }}

 

最后看一眼整体架构

五、消费者

 

1、引入依赖

跟生产者一致,不再赘述

 

2、StudentController

@Servicepublic class StudentController {    @Resource    StudentService studentService;    public void getStudent(){        Student student = studentService.getStudentById("1");        System.out.println(student);    }}
 
3、consumer.xml

 

4、ConsumerApplication

public class ConsumerApplication {    public static void main(String[] args) throws IOException {        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("consumer.xml");        context.start();        StudentController bean = context.getBean(StudentController.class);                bean.getStudent();            }}

未完待续✿✿ヽ(°▽°)ノ✿✿✿ヽ(°▽°)ノ✿✿✿ヽ(°▽°)ノ✿

转载地址:http://lqazi.baihongyu.com/

你可能感兴趣的文章
POJ---3662(Telephone Lines,最短路+二分*好题)
查看>>
L2-007. 家庭房产(并查集)
查看>>
L2-016. 愿天下有情人都是失散多年的兄妹(搜索)
查看>>
L2-019. 悄悄关注
查看>>
POJ 3468 A Simple Problemwith Integers(SplayTree入门题)
查看>>
营业额统计 HYSBZ - 1588 (伸展树简单应用)
查看>>
HDU 1890 Robotic Sort(伸展树---反转应用)
查看>>
POJ 3580 SuperMemo(伸展树的几个基本操作)
查看>>
(十) Web与企业应用中的连接管理
查看>>
(八) 正则表达式
查看>>
一.JavaScript 基础
查看>>
7.ECMAScript 继承
查看>>
HTML DOM
查看>>
AJAX 基础
查看>>
JSON 基础
查看>>
J2EE监听器Listener接口大全[转]
查看>>
cookie、session、sessionid 与jsessionid[转]
查看>>
常见Oracle HINT的用法
查看>>
JAVA中各类CACHE机制实现的比较 [转]
查看>>
PL/SQL Developer技巧
查看>>