博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
框架dubbox的简单使用
阅读量:7028 次
发布时间:2019-06-28

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

之前:

  RPC: Remote Produedure Call :一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议

  SOA: Service-oriented architecture 面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。

  zooKeeper: 引用官方的说法:“Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级 的服务,比如同步,配置管理,集群管理,名空间。

  是一个来自阿里巴巴的开源分布式服务框架;

  是当当根据自身的需求,为Dubbo实现了一些新的功能,包括REST风格远程调用、Kryo/FST序列化等等;

使用Dubbox搭建Demo:

  服务端:

  1、工程结构:

  

  2、ivy.xml配置:主要引入Dubbox和spring.日志等相关jar;

ivy.xml

  3、web.xml: 

dubbox-services
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
mvc-dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
WEB-INF/dubbox.xml
1
mvc-dispatcher
/
web.xml

  4、dubbox.xml:

  5、beans.xml与服务接口与实现类:

View Code
package com.dubbox.service;public interface DemoService {        public String greet(String name);}
package com.dubbox.service;public class DemoServiceImpl implements DemoService{    @Override    public String greet(String name) {        return "HI, "+name;    }}

以上是服务端所有代码,只写了一个方法,用于测试远程调用。其中最主要文件是dubbox.xml,在其中配置需要发布的接口;

  客户端:

  1、工程结构:

  

  需要说明的是d-s.jar是以上服务端打成的jar包,放到了lib下面直接引用;

  2、ivy.xml:几乎与服务端一样

ivy.xml

  3、web.xml:

d-c
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
mvc-dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
WEB-INF/beans.xml
1
mvc-dispatcher
/
web.xml

  4、beans.xml:

  5、dubbox.xml

  5、DemoClient.java:

package com.dubbox.client;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import com.dubbox.service.DemoService;@RestController@RequestMapping(value="/api")public class DemoClient {        @Autowired    DemoService _demoService;        @RequestMapping(value="/greet")    public String greet(@RequestParam("name") String name){        System.out.println(_demoService.greet(name));        return _demoService.greet(name);    }}

  以上是客户端的全部代码,引用了服务端的xml文件获取接口;

测试Demo

  1、启动zookeeper:

    如开始所述,这是dubbox.xml所需的,用于注册服务;

    下载zookeeper: 官网地址:,解压文件,可能需要简单配置,点击bin文件夹下的zkServer.cmd,启动zookeeper;等待启动服务端和客户端;

  2、启动服务端:

    部署启动,ZooKeeper会收到消息;

  3、启动客户端:

    输入地址:http://ip:port/dubbox-client/api/greet?name='test',输出成功;

  4、结束:

    只是一个Demo而已;

 

转载于:https://www.cnblogs.com/liangblog/p/6165070.html

你可能感兴趣的文章
ArrayList的输出以及一些问题
查看>>
相关分析sas
查看>>
web -- Angularjs 备忘录应用
查看>>
sklearn学习笔记
查看>>
SQL Server 数据分页查询
查看>>
python之路day06-python2/3小区别,小数据池的概念,编码的进阶str转为bytes类型,编码和解码...
查看>>
angularjs 指令(directive)详解(2)
查看>>
2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest J Cleaner Robot
查看>>
leapMotion简介
查看>>
增量更新项目时的备份MyBak
查看>>
图灵成立七周年——经典回顾
查看>>
iOS常用的设计模式
查看>>
[十二省联考2019]春节十二响
查看>>
HL AsySocket 服务开发框架 - 总体思路与架构
查看>>
安全原理
查看>>
web前端中的一些注释表达法
查看>>
Kotlin学习与实践 (八)集合的函数式 lambda API
查看>>
Kotlin学习与实践 (三)fun 函数
查看>>
[原]Unity3D深入浅出 - 脚本开发基础(Scripts)
查看>>
HTTP Error 503. The service is unavailable
查看>>