学习目录在上一篇中有了,这篇我们来写一个本地的单服务的demo,下面我们看看需要什么!!!

1、zookeeper的安装:

(1)、zookeeper 的安装很简单,下载架包解压缩,解压缩后的目录下有个conf目录也就是zookeeper的配置文件在该目录下,该目录下有一个zoo_sample.cfg 文件,复制一个修改为zoo.cfg,像我们这里是单服务的所以这里的配置只需要修改dataDir的目录就可以了其他的可以不用修改,dataDir的目录可以自己随便定义!!!

2、服务提供者

创建一个maven 工程,配置spring ,dubbo,zookeeper等相关的jar包,下面来具体看看!

(1)、目录结构

(2)、我们配置pom.xml下载我们需要的jar包,pom.xml配置文件如下:

(3)、写服务接口,服务接口的实现

  1. package com.test.dubboser;
  2. public interface ServiceDemo {
  3. public String say(String str);
  4. }
  1. package com.test.dubboser;
  2. public class ServiceImp implements ServiceDemo{
  3. public String say(String str) {
  4. System.err.println("server: "+str);
  5. return "hello: "+str;
  6. }
  7. }

(4)、向注册中心注册服务(将接口暴露出去),这里的注册中心是zookeeper

下面我们来看看,服务的配置也就是applicationProvider.xml这个配置文件中配置……

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://code.alibabatech.com/schema/dubbo
  8. http://code.alibabatech.com/schema/dubbo/dubbo.xsd
  9. ">
  10. <!-- 提供方应用信息,用于计算依赖关系,这个和client没必要一致 -->
  11. <dubbo:application name="hello-world-app-my" />
  12. <!-- 使用multicast广播注册中心暴露服务地址 -->
  13. <!-- <dubbo:registry address="multicast://192.168.0.101:2181" /> -->
  14. <!-- 使用zookeeper广播注册中心暴露服务地址 -->
  15. <dubbo:registry protocol="zookeeper" address="192.168.0.101:2181"/>
  16. <!--和上面的配置是一样的效果 -->
  17. <!-- <dubbo:registry address="zookeeper://192.168.0.101:2181" /> -->
  18. <!-- 本机 伪集群 测试 -->
  19. <!-- <dubbo:registry protocol="zookeeper" address="192.9.145.19:2181,192.9.145.19:2182,192.9.145.19:2183" /> -->
  20. <!-- 用dubbo协议在20880端口暴露服务 -->
  21. <dubbo:protocol name="dubbo" port="20880" />
  22. <!-- 声明需要暴露的服务接口 -->
  23. <dubbo:service interface="com.test.dubboser.ServiceDemo"
  24. ref="demoService" />
  25. <!-- 和本地bean一样实现服务 -->
  26. <bean id="demoService" class="com.test.dubboser.ServiceImp"/>
  27. </beans>

(5)、所有的准备都好了,下面我们启动服务提供者(提前启动zookeeper)

  1. package com.test.dubboser;
  2. import java.io.IOException;
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4. public class Main {
  5. public static void main(String[] args) throws IOException {
  6. ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "applicationProvider.xml" });
  7. context.start();
  8. System.out.println("按任意键退出");
  9. System.in.read();
  10. }
  11. }

ok这样我们的服务提供者就好了,是不是很乱,我感觉也有点,所以之后会有个自己的小总结……

我们的服务提供者好了,我们来看看我们的服务消费者,也就是调用我们这里的服务的程序……

3、服务消费者开发

服务消费者的编写还是按照服务提供者一样的顺序来

愿意了解框架技术或者源码的朋友直接求求交流分享技术:2042849237
分布式的一些解决方案,有愿意了解的朋友可以找我们团队探讨
更多详细源码参考来源:minglisoft.cn/technology

dubbo+springmvc+mybatis+ehcache+redis J2ee分布式架构, restful, kafka, shiro

标签: dubbo+springmvc+mybatis+ehcache+redis J2ee分布式架构, restful, kafka, shiro

dubbo整合springmvc 使用 学习二(spring+dubbo+zookeeper单机服务)相关推荐

  1. RPC Demo(二) 基于 Zookeeper 的服务发现

    RPC Demo(二) 基于 Zookeeper 的服务发现 简介     基于上篇的:RPC Demo(一) Netty RPC Demo 实现     第二部分来实现使用Zookeeper作为服务 ...

  2. Spring Cloud Zookeeper 分布式服务框架搭建常见问题

    文章目录 1 子项目如何不继承主项目,而继承最新的 Spring Boot 依赖? 2 子项目继承主项目,然后选择不同的 SpringBoot 版本,是否可行? 3 Zookeeper 的 Maven ...

  3. dubbo源码学习(二) : spring 自定义标签

    做dubbo的配置时很容易发现,dubbo有一套自己的标签,提供给开发者配置,其实每一个标签对应着一个 实体,在容器启动的时候,dubbo会对所有的配置进行解析然后将解析后的内容设置到实体里,最终du ...

  4. spring boot 学习(二)spring boot 框架整合 thymeleaf

    spring boot 框架整合 thymeleaf spring boot 的官方文档中建议开发者使用模板引擎,避免使用 JSP.因为若一定要使用 JSP 将无法使用. 注意:本文主要参考学习了大神 ...

  5. SpringMVC基础学习(二)—开发Handler

    一.Handler开发 Handler的开发方式在springmvc中有多种,下面我们主要讲解三种实现方式:实现Controller接口.实现HttpRequestHandler接口.使用注解. 1. ...

  6. 2.SpringBoot学习(二)——Spring Boot ConfigurationProperties

    1.简介 1.1 概述 Annotation for externalized configuration. Add this to a class definition or a @Bean met ...

  7. springmvc三十二:spring mvc的运行流程

    1. 所有的请求,前端控制器(DispatcherServlet)收到请求,调用doDispatch进行处理 2. 根据HandlerMapping中保存的请求映射信息找到,处理当前请求的,处理器执行 ...

  8. ballerina 学习二十八 快速grpc 服务开发

    ballerina 的grpc 开发模型,对于开发者来说简单了好多,不是schema first 的方式,而是我们 只要编写简单的ballerina service 就可以了,proto 文件是自动帮 ...

  9. 《深入理解 Spring Cloud 与微服务构建》第四章 Dubbo

    <深入理解 Spring Cloud 与微服务构建>第四章 Dubbo 文章目录 <深入理解 Spring Cloud 与微服务构建>第四章 Dubbo 一.Dubbo 简介 ...

  10. 放弃Dubbo,选择最流行的Spring Cloud微服务架构实践与经验总结

    Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经走了一年多. 在使用 Spring Cloud 之前,我们对微服务实践是没有太多的体会和经验的.从 ...

最新文章

  1. 驰骋工作流引擎设计系列05 启动流程设计
  2. Web框架之Django_09 重要组件(Django中间件、csrf跨站请求伪造)
  3. UVA12633 Super Rooks on Chessboard
  4. android chrome 44,[图]非隔代升级:新代码暗示Chrome OS的安卓支持将基于Android Q
  5. 通过CrawlSpider对招聘网站进行整站爬取(拉勾网实战)
  6. java react_Java 9React流
  7. eclips断点调试
  8. python之解析csv
  9. 好!今天开始研读《嵌入式Linux驱动程序设计从入门到精通》!
  10. 图神经网络 图像处理,神经网络与图像处理
  11. 创新金融科技:从零到一构建新房交易供应链金融服务 PPT分享
  12. 编译原理学习基本概念汇总
  13. 《龙之谷》手游服务器数据管理
  14. java 读取本地配置文件 Properties
  15. MobTech 秒验|极速验证,拉新无忧
  16. loadrunner是什么
  17. 微信域名网址强制跳转至浏览器打开指定app网页
  18. 图像基本特征-颜色 纹理 形状
  19. 北邮网络安全-防火墙
  20. 云南大学信息学院c语言实验十,云南大学软件学院JAVA实验十

热门文章

  1. Java编程思想 经典评注分享
  2. 4.1 Spark SQL概述
  3. pyQT实现自动找茬游戏
  4. java读取外部配置文件_SpringBoot读取外部配置文件的方法
  5. Property “pageNumber“ was accessed during render but is not defined on instance.
  6. mysqld_multi单机启动多个mysql
  7. SpringMVC【开发Controller】详解
  8. C# 从磁盘中读取文件
  9. 使 32 位程序使用大于 2GB 的内存
  10. [MCSM]随机搜索和EM算法