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 面向服务架构的思想在整个软件的架构中已经不是什么新鲜的东西.我简单的认为服务化是模 ...
随机推荐
- windows从0开始学golang--0--安装golang+git+自己写包
windows下 1.安装golang 2.安装git(主要是go get 引用git上的包) 3. 使用默认安装生成的目录 pkg:包含包对象,编译好的库文件 src:包含 Go 源文件,注意:你 ...
- 认识node
node是一个基于Chrome V8引擎的ECMAScript运行环境,使用了ECMAScript语法规范.有了node之后,js文件就能运行在服务器端了,也可以用来创建web服务器. node的主要 ...
- Java基础—IO小结(一)概述与节点流
一.File类的使用 由于file类是一个基础类,所以我们从file类开始了解.(SE有完善的中文文档,建议阅读) 构造器: 常用方法:——完整方法请参见API API API!!! File做的是 ...
- WPF模拟雷达界面效果图
原文:WPF模拟雷达界面效果图 iPad塔防的防守兵的效果很炫,2个小时用WPF模拟了一个. 效果图: 关键代码: <Grid> <Grid.Background> <I ...
- 本地使用xshell连接本地虚拟机
一.环境说明: 操作系统:win10 虚拟软甲:vmware破解版 终端工具:xshell 参考网址:[xshell连接本地虚拟机linux系统][注意事项][手动修改网络配置] 二.连接步骤: 1. ...
- 10 腾讯云、django2.0、uwsgi、mysql、nginx 部署
1.腾讯云 操作系统 Ubuntu Server 16.04.1 LTS 64位 获取root权限 ubuntu@VM---ubuntu:~$ sudo passwd root Enter new U ...
- error: this 'if' clause does not guard... [-Werror=misleading-indentation]
解决办法就是if语句的下面加{} 报错的 if (!pMem) return LOS_NOK; 修改后 if (!pMem) { return LOS_NOK; }
- P4546 [THUWC2017]在美妙的数学王国中畅游
如果只有第3个操作,那么这就是个sd题,随便lct搞搞就过去了 然后就是一个神仙东西 taylor公式 我不会,看gsy博客https://www.cnblogs.com/zhoushuyu/p/81 ...
- eclipse项目转移至IDEA与IDEA tomcat报错(idea自带tomcat版本太高)与war包部署到win服务器与idea提交git的总结
eclipse导出项目到idea时,不要导出target: idea打开eclipse项目后,出现junit找不到的问题,原因是jar包缺失,而maven配置的低版本的junit也显示找不到,解决办法 ...
- 微信小程序——手把手教你写一个微信小程序
前言 微信小程序年前的跳一跳确实是火了一把,然后呢一直没有时间去实践项目,一直想搞但是工作上不需要所以,嗯嗯嗯嗯嗯emmmmm..... 需求 小程序语音识别,全景图片观看,登录授权,获取个人基本信息 ...