当前位置:   article > 正文

dubbo + zookeeper + spring 分布式系统

dubbo + zookeeper + spring 分布式系统

引入 zk + spring + dubbo 等 等pom文件

贴出dubbo-service-project 项目 等pom.xml文件

呃~~  太不多 不贴了 0.0

二.将服务注册到注册中心去

=================

1. facade 定义接口


package com.dubbo.service3;

/**

  • Created by shirenchuang on 2017/3/16.

*/

public interface Test1Service3 {

public String test1Service3_1();

}

2. 将 facade 的项目 引入到 实现类中


com.dubbo

dubbo-service3-facade

1.0-SNAPSHOT

3.实现 接口


package com.dubbo.service3.impl;

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

import com.dubbo.service3.Test1Service3;

/**

  • Created by shirenchuang on 2017/3/16.

*/

public class Test1Service3Impl implements Test1Service3{

public String test1Service3_1() {

return “test1Service3_1…” ;

}

}

4.配置 配置文件


provider.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:p=“http://www.springframework.org/schema/p”

xmlns:dubbo=“http://code.alibabatech.com/schema/dubbo”

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

http://code.alibabatech.com/schema/dubbo

http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<dubbo:application name=“service3_provider” />

<dubbo:registry address=“zookeeper://120.25.162.6:2181” />

<dubbo:protocol name=“dubbo” port=“20884” />

<dubbo:service interface=“com.dubbo.service3.Test1Service3” ref=“test1Service3” />

5.1 启动spring 容器 ;java代码启动


provder3.java

import org.springframework.context.support.ClassPathXmlApplicationContext;

/**

  • Created by shirenchuang on 2017/3/16.

*/

public class Provider3 {

public static void main(String[] args) throws Exception {

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(

new String[] {“provider.xml”});

context.start();

System.in.read(); // 按任意键退出

}

}

5.2 也可以部署到tomcat 中去;那就要配置一下 web.xml 文件了


例如:看 dubbo-service1_1-project 的配置文件

里面的那些配置文件就不贴出来了 ;下载源代码看就行了 ;

最好可以打包成war 部署到tomcat 中 也是一样的效果

6.步骤5.1 或者5.2 部署成功之后的效果 ,打开dubbo-admin 查看


7. 服务注册成功了 ,那么怎么使用呢?


三 . 如何消费 提供者提供的服务----消费者

============================

刚刚发布了 service3 ,并且保持它一直在启动状态(不要把provder3 停止就行了)

可以在dubbo-admin 看到它是没有消费者的,现在我们在 Controller 层来消费它;

1. Controller 的配置


web.xml

dispatcher

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:applicationContext.xml

0

spring-mvc.xml  开启自动扫描

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns=“http://www.springframework.org/schema/beans”

xmlns:context=“http://www.springframework.org/schema/context”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:mvc=“http://www.springframework.org/schema/mvc”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

<context:component-scan base-package=“com.dubbo” />

<mvc:annotation-driven />

dubbo-config.xml  就是消费者 的配置文件

<?xml version="1.0" encoding="UTF-8" ?>

<beans xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:dubbo=“http://code.alibabatech.com/schema/dubbo”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://code.alibabatech.com/schema/dubbo

http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<dubbo:application name=“test_consumer” />

<dubbo:registry address=" " />

<dubbo:reference interface=“com.dubbo.service3.Test1Service3” id=“test1Service3” check=“false” />

配置 了需要消费的服务  service3 ;然后在Controller 中 就可以自己 通过注解 @Autowired 使用

@Autowired

private Test1Service3 test1Service3;

@RequestMapping(value = “/test3”)

@ResponseBody

public String test3(){

return test1Service3.test1Service3_1();

}

2.1 tomcat启动服务…


请求接口…

启动完了可以看到的是  服务 显示正常 表示 有提供者 又有消费者呢 ;

注意  如果注册中心 没有注册成功的话 启动会报错

2.2 本地 测试调用远程服务


comsumer.xml  消费者配置

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xmlns:dubbo=“http://code.alibabatech.com/schema/dubbo”

xsi:schemaLocation=“http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd”>

<dubbo:application name=“service2_consumer” />

<dubbo:registry address=“zookeeper://120.25.162.6:2181” />

<dubbo:reference id=“test1Service3” interface=“com.dubbo.service3.Test1Service3” />

comsumer2.java

public class Consumer2 {

public static void main(String[] args) throws Exception {

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]

{“consumer.xml”});

context.start();

Test1Service3 test1Service3 = (Test1Service3)context.getBean(“test1Service3”); // 获取远程服务代理

String s = test1Service3.test1Service3_1(); // 执行远程方法

System.out.print(“end…”+s);

}

}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

腾讯T3大牛总结的500页MySQL实战笔记意外爆火,P8看了直呼内行

腾讯T3大牛总结的500页MySQL实战笔记意外爆火,P8看了直呼内行
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

[外链图片转存中…(img-dYldWYNh-1712570084292)]

[外链图片转存中…(img-svssL2YZ-1712570084292)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

[外链图片转存中…(img-pd5vODAZ-1712570084293)]

[外链图片转存中…(img-cbZ8J0D1-1712570084293)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/421396
推荐阅读
相关标签
  

闽ICP备14008679号