dubbo面向服务使用
首先启动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面向服务使用的更多相关文章
- 聊聊SOA面向服务架构
什么是SOA SOA(Service-Oriented Architecture),即面向服务的架构.SOA是一种粗粒度.松耦合服务架构,服务之间通过简单.精确定义接口进行通讯,不涉及底层编程接口和通 ...
- Dubbo分布式服务框架入门
参考http://blog.csdn.net/u013142781/article/details/50387583 一.Dubbo概念介绍 1.1.Dubbo是什么? Dubbo是一个分布式服务框架 ...
- SOA面向服务的架构理解
Ø 单一应用架构 ·当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本. Ø 垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几 ...
- Dubbo 分布式服务框架简介
1.分布式服务框架 1.1 Dubbo 简介 Dubbo 是一个分布式服务框架,以及阿里巴巴内部的 SOA 服务化治理方案的核心框架.其功能主要包括:高性能 NIO 通讯及多协议集成,服务动态寻址与路 ...
- [.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店
一.前言 在前面专题一中,我已经介绍了我写这系列文章的初衷了.由于dax.net中的DDD框架和Byteart Retail案例并没有对其形成过程做一步步分析,而是把整个DDD的实现案例展现给我们,这 ...
- 说说面向服务的体系架构SOA
序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...
- Puzzle 面向服务/切面(AOP/IOC)开发框架 For .Net
Puzzle 面向服务/切面AOP开发框架 For .Net AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效 ...
- Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系
Atitit 面向对象编程(OOP).面向组件编程(COP).面向方面编程(AOP)和面向服务编程(SOP)的区别和联系 1. 面向组件编程(COP) 所以,组件比起对象来的进步就在于通用的规范的引入 ...
- (转)漫谈SOA(面向服务架构)
http://blog.csdn.net/luohuacanyue/article/details/12521699 面向服务架构的思想在整个软件的架构中已经不是什么新鲜的东西.我简单的认为服务化是模 ...
随机推荐
- 20155237 2016-2017-2 《Java程序设计》第3周学习总结
20155237 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 对象:存在的具体实体,具有明确的状态和行为. 类:具有相同属性和行为的一组 ...
- SpringCloud-微服务配置统一管理SpringCloud Config(七)
前言:对于应用,配制文件通常是放在项目中管理的,它可能有spring.mybatis.log等等各种各样的配置文件和属性文件,另外你还可能有开发环境.测试环境.生产环境等,这样的话就得一式三份,若是传 ...
- 洛咕 P3961 [TJOI2013]黄金矿工
甚至都不是树形背包= = 把每条线抠出来,这一条线就是个链的依赖关系,随便背包一下 // luogu-judger-enable-o2 #include<bits/stdc++.h> #d ...
- ubuntu 图形化界面 gui 桌面版 root登录 sorry,that didn't work.please try again! 抱歉,认证失败。请重试
出现这种问题,用下面的方法就行了 https://jingyan.baidu.com/article/bad08e1e224b2709c85121f1.html 而且我发现,因为我用的是英文版的ubu ...
- centos7 安装postgres9.4
1.安装postgres资源:> yum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_ ...
- 快速搭建属于自己的mongodb数据库
前言 MongoDB 是一个基于分布式文件存储的数据库.由C++语言编写,支持Windows,Linux,OSX,Solaris等平台,默认端口为27017,是一个效率非常高的nosql数据库. 我的 ...
- YouTube视频下载方法汇总
YouTube是一个视频共享网站,YouTuber们自己拍摄并制作视频,上传到YouTube,然后用户观看.分享并评论这些内容.虽然在线观看很方便,但是有些时候你却只能处于离线的状态,比如出差.旅游. ...
- 180815-Spring之RestTemplate中级使用篇
Spring之RestTemplate中级使用篇 前面一篇介绍了如何使用RestTemplate发起post和get请求,然而也只能满足一些基本的场景,对于一些特殊的如需要设置请求头,添加认证信息等场 ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(一)
平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...
- Gitlab 403 forbidden 并发引起IP被封
问题 在工作中自搭建的Gitlab.但今天打开页面的时候显示的是空白页面,上面还有一次文本Forbidden. 原因 Gitlab使用rack_attack做了并发访问的限制. 解决方案 将Gitla ...