首先启动zookeeper

dubbo集群,使用两个dubbo,一个服务,一个调用,使用zookeeper管理

zeekeeper的功能:管理集群,保证集群成员的数据一致性和动作的协调

服务端:

  server.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="server_first"></dubbo:application>
<!--协议,所使用服务的名称name="dubbo";提供服务的端口号port="20880"默认-->
<!--dubbo提供服务的端口-->
<dubbo:protocol name="dubbo" port="20880"></dubbo:protocol>
<!--指定注册中心:把服务注册到zookeeper中,要找到这个服务要到zookeeper中-->
<!--<dubbo:registry address="zookeeper://localhost:2181"/>或者如下,两种方式一样-->
<dubbo:registry address="zookeeper://localhost" port="2181"></dubbo:registry> <!--向外界提供的什么服务,如下-->
<bean class="service.FirstServiceImp" id="first"></bean>
<!--向外提供的服务-->
<dubbo:service interface="service.FirstService" ref="first"></dubbo:service>
<!--外界使用通过zookeeper找到ref="first"就可使用-->
</beans>

建立接口,要处理的内容

package service;

/**
* Created by MY on 2017/8/3.
*/
public interface FirstService {
int sum(int x,int y);
}

创建实现类,实现接口

package service;

/**
* Created by MY on 2017/8/3.
*/
public class FirstServiceImp implements FirstService{
@Override
public int sum(int x,int y){
System.out.println("sum()调用了");
return x+y;
}
}

创建启动server.xml文件的类

package test;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;

/**
* Created by MY on 2017/8/3.
*/
public class DubboServer {
public static void main(String[] args) {
//查找配置文件,读取配置文件启动
ClassPathXmlApplicationContext cxt = new ClassPathXmlApplicationContext("server.xml"); try {
//不退出当前的进程
//输入后才退出
System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
} }

最后把服务端打包成jar包,在控制台将service下的FirstService.class打包成jar包

F:\IDEA doc\dubbo2\out\production\dubbo2>jar cvf a.jar service/FirstService.class

客户端

  除了添加响应的jar包,服务端打包的jar包也要添加进去

  client.cml配置

  创建DubboClient类,启动client.xml文件,调用服务端接口中的方法

package test;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import service.FirstService; /**
* Created by MY on 2017/8/3.
*/
public class DubboClien {
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("client.xml"); FirstService fs = (FirstService) ctx.getBean("fc");
int s=fs.sum(3,4);
System.out.println("--"+s);
}
}

dubbo面向服务使用的更多相关文章

  1. 聊聊SOA面向服务架构

    什么是SOA SOA(Service-Oriented Architecture),即面向服务的架构.SOA是一种粗粒度.松耦合服务架构,服务之间通过简单.精确定义接口进行通讯,不涉及底层编程接口和通 ...

  2. Dubbo分布式服务框架入门

    参考http://blog.csdn.net/u013142781/article/details/50387583 一.Dubbo概念介绍 1.1.Dubbo是什么? Dubbo是一个分布式服务框架 ...

  3. SOA面向服务的架构理解

    Ø  单一应用架构 ·当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本. Ø  垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几 ...

  4. Dubbo 分布式服务框架简介

    1.分布式服务框架 1.1 Dubbo 简介 Dubbo 是一个分布式服务框架,以及阿里巴巴内部的 SOA 服务化治理方案的核心框架.其功能主要包括:高性能 NIO 通讯及多协议集成,服务动态寻址与路 ...

  5. [.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店

    一.前言 在前面专题一中,我已经介绍了我写这系列文章的初衷了.由于dax.net中的DDD框架和Byteart Retail案例并没有对其形成过程做一步步分析,而是把整个DDD的实现案例展现给我们,这 ...

  6. 说说面向服务的体系架构SOA

    序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...

  7. Puzzle 面向服务/切面(AOP/IOC)开发框架 For .Net

    Puzzle 面向服务/切面AOP开发框架 For .Net AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效 ...

  8. Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系

    Atitit 面向对象编程(OOP).面向组件编程(COP).面向方面编程(AOP)和面向服务编程(SOP)的区别和联系 1. 面向组件编程(COP) 所以,组件比起对象来的进步就在于通用的规范的引入 ...

  9. (转)漫谈SOA(面向服务架构)

    http://blog.csdn.net/luohuacanyue/article/details/12521699 面向服务架构的思想在整个软件的架构中已经不是什么新鲜的东西.我简单的认为服务化是模 ...

随机推荐

  1. 20155237 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155237 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 使用JDK编译.运行简单的java程序 新建文件夹 打开终端 输入cd Code命令进入 ...

  2. 9 README,全套代码

    BBS+ BLOG系统(仿博客园) 一.概要 欢迎您使用该BBS+BLOG系统,希望在您使用的过程中体验到便捷和愉快的使用感受,并对我们的软件提出您发现的问题和建议,谢谢. 联系邮箱:liangshu ...

  3. 博弈论简单入门sb总结

    博弈论简单入门sb总结 下午讲博弈论.没预习,GG. 整个下午都在学. 0 有一堆共n个石子,两个人轮流取石子,每个人一次可以取1到k个,取到最后一个石子的人胜利. 小学生都会的sb题.若k+1|n, ...

  4. python爬虫之图片懒加载、selenium和phantomJS

    一.什么是图片懒加载 在网页中,常常需要用到图片,而图片需要消耗较大的流量.正常情况下,浏览器会解析整个HTML代码,然后从上到下依次加载<img src="xxx"> ...

  5. Python爬虫入门 之 如何在豆瓣中获取自己喜欢的TOP N电影信息

    什么是爬虫 按照一定规则自动的获取互联网上的信息(如何快速有效的利用互联网上的大量信息) 爬虫的应用 搜索引擎(Google.百度.Bing等搜索引擎,辅助人们检索信息) 股票软件(爬取股票数据,帮助 ...

  6. SQL语句汇总(终篇)—— 表联接与联接查询

    既然是最后一篇那就不能只列出些干枯的标准语句,更何况表联接也是SQL中较难的部分,所以此次搭配题目来详细阐述表联接. 上一篇博文说到相关子查询效率低下,那我们怎么能将不同表的信息一起查询出来呢?这就需 ...

  7. 【转】将Centos的yum源更换为国内的阿里云源

    摘要: 阿里云是最近新出的一个镜像源.得益于阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源. 阿里云Linux安装镜像源地址:http://mirrors.aliyun.com/ CentOS ...

  8. C++将一个vector中的内容复制到另一个vector结尾

    在使用vector容器的时候,需要将一个vector中的内容复制到另一个vector结尾,如何实现呢? 使用vector的insert方法 template <class InputIterat ...

  9. 初识IT行业,人生苦短,我学python

    第一次写,我也不知道该怎么写.只有慢慢的去体会大神们的见解与看法. Python是一个较强的脚本语言,而Java是强类型的编程语言.为了更好的入门,我没有去选择强类型语言的Java,而选择使用Pyth ...

  10. c语言数字图像处理(七):频率域滤波

    代码运行了两个小时才出的结果,懒得测试了,这一部分先鸽了,等对DFT算法进行优化后再更