文档章节

dubbo 框架的初步搭建

zheng_pat
 zheng_pat
发布于 2016/06/23 19:23
字数 557
阅读 56
收藏 11

1.首先安装ZK的集群

 

2.项目POM.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.tangpian</groupId>
	<artifactId>cli</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>yak Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<properties>
		<version.logback>1.1.7</version.logback>
		<version.slf4j>1.7.21</version.slf4j>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>2.7.1</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.12</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
		</dependency>
		<dependency>
			<groupId>com.github.sgroschupf</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.1</version>
		</dependency>
		 <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
       <version>1.7.5</version>
   </dependency>
   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
       <version>1.7.5</version>
   </dependency>
	</dependencies>
	<build>
		<finalName>yak</finalName>
	</build>
	<plugins>
		<plugin>
			<artifactId>maven-compiler-plugin</artifactId>
			<configuration>
				<target>1.8</target>
				<source>1.8</source>
				<encoding>UTF-8</encoding>
			</configuration>
		</plugin>
	</plugins>
</project>

 

服务器端配置

<?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= "hello-world-app" />
         <!--zookeeper注册中心 -->
         <dubbo:registry protocol="zookeeper"  address="101.201.222.140:2181" />
         <!--使用multicast广播注册中心暴露服务地址 -->
         <!--<dubbo:registry address="multicast://10.57.41.19:1234" />-->
         <dubbo:protocol name="dubbo" port="20880" />
         <dubbo:service interface="com.yak.ISayHello"
                   ref="sayHello"/>       
         <bean id="sayHello" class="com.yak.SayHelloImpl" />
</beans>
package com.yak;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Client {
    public static void main(String[] args) throws InterruptedException{
    	Client client=new Client();
    	client.start();
        Thread.sleep(1000*60*10);
}

void start(){
        String configLocation="dubbo-provider.xml";
        ApplicationContext context =new ClassPathXmlApplicationContext(configLocation);
        String[] names=context.getBeanDefinitionNames();
        System.out.print("Beans:");
        for(String string : names)
                 System.out.print(string+",");
        System.out.println();
}
}

package com.yak;

public interface ISayHello {
	
	public String sayhello(String name);

}

package com.yak;

import org.springframework.stereotype.Service;

@Service("sayHelloService")
public class SayHelloImpl implements ISayHello {

	@Override
	public String sayhello(String name) {
		return name + "duboo";
	}
}

 

客户消费端配置

<?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="consumer-of-helloworld-app" />
         <!--zookeeper注册中心 -->
         <dubbo:registry  protocol="zookeeper" address="101.201.222.140:2181" /> 
          <!-- 生成远程服务代理,可以和本地bean一样使用demoService-->
         <dubbo:reference id="sayHello"  interface="com.yak.ISayHello" />
</beans>
package com.yak;

public interface ISayHello {
	public String sayhello(String name);
}

package com.cli;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.yak.ISayHello;

public class Client {
	  public static void main(String[] args) throws InterruptedException{
		  Client luncher=new Client();
          luncher.start();
}


void start(){
      try {
    	    String configLocation="dubbo-consumer.xml";
            ApplicationContext context =new ClassPathXmlApplicationContext(configLocation);
            ISayHello ds=(ISayHello) context.getBean("sayHello");
            String[] names=context.getBeanDefinitionNames();
            System.out.print("Beans:");
            for(String string : names) {
                     System.out.print(string);
                     System.out.print(",");
            }
            System.err.println(ds.sayhello("ss")+"???????????????");
           
	} catch (Exception e) {
		e.printStackTrace();
	}
}
}

 

© 著作权归作者所有

上一篇: lucene5 排序
下一篇: JAVA动态代理
zheng_pat
粉丝 26
博文 97
码字总数 27693
作品 0
海淀
程序员
私信 提问
一年走向【Java架构师】之葵花宝典

大多数时候,不是我们不努力,而是不知从何下手,我深知一份好的学习资料是多么的重要,我们通常会把大量的时间都浪费在找资源上,本人搜集学习java架构师的经典学习路线如下可供参考!!! 一...

我一路狂奔
2017/05/20
632
1
企业管理系统分布式架构搭建

【业务需求】 一、功能需求 1、搭建企业管理软件后台架构; 2、架构支持模块化分布式,可采用dubbo,springboot等技术; 3、支持多数据源,mybatis,mongdb,mysql同时工作; 4、架构具有良好...

Celesea
2017/07/24
53
1
为什么使用dubbo之后,响应速度会很慢?

应该不是网速的事情,初步判断应该是消费者受到请求之后派发给提供者之后的延迟比较高,不知道是什么问题 图1是未使用dubbo框架的,请求块,失败率低,图2是加了dubbo框架的,不仅请求慢,而...

S沐大大
2016/09/28
2.7K
6
(一)构建dubbo分布式平台-平台导语简介

导语: 怎么搭建一套满足企业未来发展的通用架构平台?现在分布式、微服务、云平台的口号是如此的响亮,技术更新是如此的迅速,很多架构师选择使用dubbo、spring cloud的方案去帮助企业搭建分...

park
2017/11/27
0
0
Dubbo剖析-Dubbo协议

一、前言 TCP协议栈中,每层模型都有自己的协议报文格式,TCP协议是网络七层模型中的传输层,在TCP上层是应用层,应用层协议常见的有telnet等,Dubbo协议作为建立在TCP协议之上的一种协议,自...

加多
2018/01/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Dubbo-自适应拓展机制

背景 在 Dubbo 中,很多拓展都是通过 SPI 机制进行加载的,比如 Protocol、Cluster、LoadBalance 等,这些都是Dubbo的基础组件。这些基础组件的拓展不是在系统框架启动阶段被加载,而是拓展方...

rock-man
17分钟前
4
0
Kali安装fcitx输入法(五笔)

安装fcitx > sudo apt-get install fcitx-rime fcitx-config-gtk3 重启 > sudo reboot fcitx配置 效果就是这样 配置输入法切换 系统设置...

yeahlife
19分钟前
3
0
IE之css3效果兼容

本文转载于:专业的前端网站▷IE之css3效果兼容 一、兼容css阴影效果(ie滤镜) 1.Shadow,阴影 .shadow { -moz-box-shadow: 3px 3px 4px #000; -webkit-box-shadow: 3px 3px 4px #000; box-sha...

前端老手
22分钟前
3
0
NiushopB2C开源商城功能列表说明:

B2C单商户免费版:PC商城+微商城 B2C单商户标准版:PC商城+微商城组合套餐+阶梯优惠核销功能 B2C单商户企业版:PC商城+微商城拼团+组合套餐阶梯优惠+核销功能 B2C单商户分销版:PC商城+微商城...

niushop-芳
24分钟前
3
0
图片如何转GIF图片呢

如何将生活中拍摄的好玩有趣的图片制作成GIF动图呢?相信很多小伙伴都不知道要如何制作,其实制作方法非常的简单,下面分享一个图片转GIF动图的方法,希望这个方法能够帮助大家在与好友斗图时...

白米稀饭2019
31分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部