Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
dubbo µÄʹÓÃ
 
×÷Õߣºliuc0317 À´Ô´£ºCSDN ·¢²¼ÓÚ 2015-12-28
  3964  次浏览      29
 

DubboÊÇ[3] °¢Àï°Í°Í¹«Ë¾¿ªÔ´µÄÒ»¸ö¸ßÐÔÄÜÓÅÐãµÄ·þÎñ¿ò¼Ü£¬Ê¹µÃÓ¦ÓÿÉͨ¹ý¸ßÐÔÄÜµÄ RPC ʵÏÖ·þÎñµÄÊä

³öºÍÊäÈ빦ÄÜ£¬¿ÉÒÔºÍ [4] Spring¿ò¼ÜÎ޷켯³É¡£

Ö÷ÒªºËÐIJ¿¼þ

Remoting: ÍøÂçͨÐÅ¿ò¼Ü£¬ÊµÏÖÁË sync-over-async ºÍ request-response ÏûÏ¢»úÖÆ.

RPC: Ò»¸öÔ¶³Ì¹ý³Ìµ÷ÓõijéÏó£¬Ö§³Ö¸ºÔؾùºâ¡¢ÈÝÔֺͼ¯Èº¹¦ÄÜ

Registry: ·þÎñĿ¼¿ò¼ÜÓÃÓÚ·þÎñµÄ×¢²áºÍ·þÎñʼþ·¢²¼ºÍ¶©ÔÄ

¹¤×÷Ô­Àí

Provider

±©Â¶·þÎñ·½³ÆÖ®Îª¡°·þÎñÌṩÕß¡±¡£

Consumer

µ÷ÓÃÔ¶³Ì·þÎñ·½³ÆÖ®Îª¡°·þÎñÏû·ÑÕß¡±¡£

Registry

·þÎñ×¢²áÓë·¢ÏÖµÄÖÐÐÄĿ¼·þÎñ³ÆÖ®Îª¡°·þÎñ×¢²áÖÐÐÄ¡±¡£

Monitor

ͳ¼Æ·þÎñµÄµ÷ÓôÎÊýºÍµ÷ÓÃʱ¼äµÄÈÕÖ¾·þÎñ³ÆÖ®Îª¡°·þÎñ¼à¿ØÖÐÐÄ¡±¡£

(1) Á¬Í¨ÐÔ£º

×¢²áÖÐÐĸºÔð·þÎñµØÖ·µÄ×¢²áÓë²éÕÒ£¬Ï൱ÓÚĿ¼·þÎñ£¬·þÎñÌṩÕߺÍÏû·ÑÕßÖ»ÔÚÆô¶¯Ê±Óë×¢²áÖÐÐĽ»»¥£¬×¢²áÖÐÐIJ»×ª·¢ÇëÇó£¬Ñ¹Á¦½ÏС

¼à¿ØÖÐÐĸºÔðͳ¼Æ¸÷·þÎñµ÷ÓôÎÊý£¬µ÷ÓÃʱ¼äµÈ£¬Í³¼ÆÏÈÔÚÄÚ´æ»ã×ܺóÿ·ÖÖÓÒ»´Î·¢Ë͵½¼à¿ØÖÐÐÄ·þÎñÆ÷£¬²¢ÒÔ±¨±íչʾ

·þÎñÌṩÕßÏò×¢²áÖÐÐÄ×¢²áÆäÌṩµÄ·þÎñ£¬²¢»ã±¨µ÷ÓÃʱ¼äµ½¼à¿ØÖÐÐÄ£¬´Ëʱ¼ä²»°üº¬ÍøÂ翪Ïú

·þÎñÏû·ÑÕßÏò×¢²áÖÐÐÄ»ñÈ¡·þÎñÌṩÕßµØÖ·ÁÐ±í£¬²¢¸ù¾Ý¸ºÔØËã·¨Ö±½Óµ÷ÓÃÌṩÕߣ¬Í¬Ê±»ã±¨µ÷ÓÃʱ¼äµ½¼à¿ØÖÐÐÄ£¬´Ëʱ¼ä°üº¬ÍøÂ翪Ïú

×¢²áÖÐÐÄ£¬·þÎñÌṩÕߣ¬·þÎñÏû·ÑÕßÈýÕßÖ®¼ä¾ùΪ³¤Á¬½Ó£¬¼à¿ØÖÐÐijýÍâ

×¢²áÖÐÐÄͨ¹ý³¤Á¬½Ó¸ÐÖª·þÎñÌṩÕߵĴæÔÚ£¬·þÎñÌṩÕßå´»ú£¬×¢²áÖÐÐĽ«Á¢¼´ÍÆËÍʼþ֪ͨÏû·ÑÕß

×¢²áÖÐÐÄºÍ¼à¿ØÖÐÐÄÈ«²¿å´»ú£¬²»Ó°ÏìÒÑÔËÐеÄÌṩÕߺÍÏû·ÑÕߣ¬Ïû·ÑÕßÔÚ±¾µØ»º´æÁËÌṩÕßÁбí

×¢²áÖÐÐÄºÍ¼à¿ØÖÐÐͼÊÇ¿ÉÑ¡µÄ£¬·þÎñÏû·ÑÕß¿ÉÒÔÖ±Á¬·þÎñÌṩÕß

(2) ½¡×´ÐÔ£º

¼à¿ØÖÐÐÄå´µô²»Ó°ÏìʹÓã¬Ö»ÊǶªÊ§²¿·Ö²ÉÑùÊý¾Ý

Êý¾Ý¿âå´µôºó£¬×¢²áÖÐÐÄÈÔÄÜͨ¹ý»º´æÌṩ·þÎñÁбí²éѯ£¬µ«²»ÄÜ×¢²áзþÎñ

×¢²áÖÐÐĶԵȼ¯Èº£¬ÈÎÒâһ̨崵ôºó£¬½«×Ô¶¯Çл»µ½Áíһ̨

×¢²áÖÐÐÄÈ«²¿å´µôºó£¬·þÎñÌṩÕߺͷþÎñÏû·ÑÕßÈÔÄÜͨ¹ý±¾µØ»º´æÍ¨Ñ¶

·þÎñÌṩÕßÎÞ״̬£¬ÈÎÒâһ̨崵ôºó£¬²»Ó°ÏìʹÓÃ

·þÎñÌṩÕßÈ«²¿å´µôºó£¬·þÎñÏû·ÑÕßÓ¦Óý«ÎÞ·¨Ê¹Ó㬲¢ÎÞÏÞ´ÎÖØÁ¬µÈ´ý·þÎñÌṩÕ߻ָ´

(3) ÉìËõÐÔ£º

×¢²áÖÐÐÄΪ¶ÔµÈ¼¯Èº£¬¿É¶¯Ì¬Ôö¼Ó»úÆ÷²¿ÊðʵÀý£¬ËùÓпͻ§¶Ë½«×Ô¶¯·¢ÏÖеÄ×¢²áÖÐÐÄ

·þÎñÌṩÕßÎÞ״̬£¬¿É¶¯Ì¬Ôö¼Ó»úÆ÷²¿ÊðʵÀý£¬×¢²áÖÐÐĽ«ÍÆËÍеķþÎñÌṩÕßÐÅÏ¢¸øÏû·ÑÕß

ÒÔÏÂÊÇÐèÒªµÄZooKeeper °²×°£¬ºÍ¹ÜÀíÒ³ÃæµÄ°²×°£¬²âÊÔµÄÌṩÕߺÍÏû·ÑÕß¡£

ËùÐèµÄÎļþÏÂÔØµØÖ·£ºhttp://download.csdn.net/detail/liuc0317/8314333

1. ÎÒÔÚwindows ϰ²×°µÄzooKeeper £¬ËùÏÂÔØµÄÎļþ zookeeper-3.3.6.tar.gz ½âѹµ½Ò»¸öÎļþ¼ÐÏ¡£Èçͼ

Ŀ¼Èçͼ£º

½øÈëconf ÐÞ¸ÄÅäÖÃÎļþ zoo.cfg

# The number of milliseconds of each tick  ÐÄÌø¼ä¸ô ºÁÃëÿ´Î  
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting anacknowledgement
syncLimit=5
# the directory where the snapshot isstored. //¾µÏñÊý¾ÝλÖÃ
dataDir=D:\\data\\zookeeper
#ÈÕ־λÖÃ
dataLogDir=D:\\logs\\zookeeper
# the port at which the clients willconnect ¿Í»§¶ËÁ¬½ÓµÄ¶Ë¿Ú
clientPort=2181

ÐÞ¸ÄÁËÅäÖÃÎļþdataLogDir µÄÅäÖã¬Õâ¸öÅäÖõØÖ·ÐèÒªÈËΪµÄÈ¥´´½¨£¬Òª²»È»»á±¨´í¡£ÕâÑù£¬ÅäÖþͻù±¾Íê³ÉÁË¡£

µÚ¶þ²½£º½øÈëbin Ŀ¼£¬È»ºóÔÚ dos ÏÂÔËÐС£

ÕâÑù zookeeper ¾ÍÆô¶¯ÁË£¬Í¬Ê±¿ÉÒÔʹÓÃzookeeper ×Ô´øµÄ¿Í»§¶Ë²é¿´Ò»Ï¡£Èçͼ£º

±àд·þÎñµÄÌṩÕߺÍÏû·ÑÕß Èçͼ£º

DemoService.java

package com.unj.dubbotest.provider;  

import java.util.List;

public interface DemoService {

String sayHello(String name);

public List getUsers();

}

DemoServiceImp.java

package com.unj.dubbotest.provider.impl;  

import java.util.ArrayList;
import java.util.List;

import com.unj.dubbotest.provider.DemoService;

public class DemoServiceImpl implements DemoService {

public String sayHello(String name) {
return "Hello " + name;
}

public List getUsers() {
List list = new ArrayList();
User u1 = new User();
u1.setName("jack");
u1.setAge(20);
u1.setSex("m");

User u2 = new User();
u2.setName("tom");
u2.setAge(21);
u2.setSex("m");

User u3 = new User();
u3.setName("rose");
u3.setAge(19);
u3.setSex("w");

list.add(u1);
list.add(u2);
list.add(u3);
return list;
}
}

applicationContext.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
">

<!-- ¾ßÌåµÄʵÏÖbean -->
<bean id="demoService" class="com.unj.dubbotest.provider.impl.DemoServiceImpl" />

<!-- Ìṩ·½Ó¦ÓÃÐÅÏ¢£¬ÓÃÓÚ¼ÆËãÒÀÀµ¹ØÏµ -->
<dubbo:application name="xixi_provider" />

<!-- ʹÓÃmulticast¹ã²¥×¢²áÖÐÐı©Â¶·þÎñµØÖ· <dubbo:registry address="multicast://224.5.6.7:1234"
/> -->

<!-- ʹÓÃzookeeper×¢²áÖÐÐı©Â¶·þÎñµØÖ· -->
<dubbo:registry address="zookeeper://10.20.5.106:2181" />

<!-- ÓÃdubboЭÒéÔÚ20880¶Ë¿Ú±©Â¶·þÎñ -->
<dubbo:protocol name="dubbo" port="20880" />

<!-- ÉùÃ÷ÐèÒª±©Â¶µÄ·þÎñ½Ó¿Ú -->
<dubbo:service interface="com.unj.dubbotest.provider.DemoService"
ref="demoService" />

</beans>

Provider.java

package com.unj.dubbotest.provider.impl;  

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Provider {

public static void main(String[] args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "applicationContext.xml" });
context.start();
System.in.read(); // Ϊ±£Ö¤·þÎñÒ»Ö±¿ª×Å£¬ÀûÓÃÊäÈëÁ÷µÄ×èÈûÀ´Ä£Äâ
}
}

ÔËÐÐmain ·½·¨£ºÈÕÖ¾ÈçÏ£º

2014-12-30 15:45:46,349 INFO [org.springframework.context.support.ClassPathXmlApplicationContext] 
- Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@dd87b2: display name 
[org.springframework.context.support.ClassPathXmlApplicationContext@dd87b2]; 
startup date [Tue Dec 30 15:45:46 CST 2014]; root of context hierarchy  
2014-12-30 15:45:46,410 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from class path resource [applicationContext.xml]
2014-12-30 15:45:46,554 INFO [com.alibaba.dubbo.common.logger.LoggerFactory] - using logger: com.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter
2014-12-30 15:45:46,585 INFO [org.springframework.context.support.ClassPathXmlApplicationContext] - Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@dd87b2]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1319c
2014-12-30 15:45:46,831 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1319c: defining beans [demoService,xixi_provider,com.alibaba.dubbo.config.RegistryConfig,dubbo, com.unj.dubbotest.provider.DemoService]; root of factory hierarchy
2014-12-30 15:45:46,834 INFO [com.alibaba.dubbo.config.AbstractConfig] - [DUBBO] The service ready on spring started. service: com.unj.dubbotest.provider.DemoService, dubbo version: 2.5.2, current host: 127.0.0.1
2014-12-30 15:45:46,992 INFO [com.alibaba.dubbo.config.AbstractConfig] - [DUBBO] Export dubbo service com.unj.dubbotest.provider.DemoService to local registry, dubbo version: 2.5.2, current host: 127.0.0.1
2014-12-30 15:45:46,992 INFO [com.alibaba.dubbo.config.AbstractConfig] - [DUBBO] Export dubbo service com.unj.dubbotest.provider.DemoService to url dubbo://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost=true&application =xixi_provider&dubbo=2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods =sayHello,getUsers&pid=12192&side=provider¡Átamp=1419925546891, dubbo version: 2.5.2, current host: 127.0.0.1 2014-12-30 15:45:46,992 INFO [com.alibaba.dubbo.config.AbstractConfig] - [DUBBO] Register dubbo service com.unj.dubbotest.provider.DemoService url dubbo://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost =true&application=xixi_provider&dubbo=2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods =sayHello,getUsers&pid=12192&side=provider¡Átamp=1419925546891 to registry registry://10.20.5.106:2181/com.alibaba.dubbo.registry.RegistryService?application =xixi_provider&dubbo=2.5.2&pid=12192&registry=zookeeper¡Átamp=1419925546845, dubbo version: 2.5.2, current host: 127.0.0.1
2014-12-30 15:45:47,161 INFO [com.alibaba.dubbo.remoting.transport.AbstractServer] - [DUBBO] Start NettyServer bind /0.0.0.0:20880, export /10.20.5.106:20880, dubbo version: 2.5.2, current host: 127.0.0.1
2014-12-30 15:45:47,183 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry] - [DUBBO] Load registry store file C:\Users\lenovo\.dubbo\dubbo-registry-10.20.5.106.cache, data: {com.unj.dubbotest.provider.DemoService =empty://10.20.5.106/com.unj.dubbotest.provider.DemoService?application =hehe_consumer&category=providers&dubbo =2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods =sayHello,getUsers&pid=21892&side=consumer¡Átamp =1419925451328 empty://10.20.5.106/com.unj.dubbotest.provider.DemoService?application =hehe_consumer&category=configurators&dubbo=2.5.2&interface =com.unj.dubbotest.provider.DemoService&methods=sayHello,getUsers&pid =21892&side=consumer¡Átamp =1419925451328 empty://10.20.5.106/com.unj.dubbotest.provider.DemoService?application =hehe_consumer&category=routers&dubbo =2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods =sayHello,getUsers&pid=21892&side =consumer¡Átamp=1419925451328}, dubbo version: 2.5.2, current host: 127.0.0.1
2014-12-30 15:45:47,198 INFO [org.I0Itec.zkclient.ZkEventThread] - Starting ZkClient event thread.
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:host.name=10.20.5.106
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.version=1.6.0_30
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.vendor=Sun Microsystems Inc.
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.home=D:\soft\UCFSOFTDOC\soft\JDK\Java_JDK1.6_32bit\Java\jdk1.6.0_30\jre
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.class.path =C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\classes; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\commons-lang-2.3.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\commons-logging-1.1.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\commons-logging-api-1.1.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-2.5.2.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-admin-2.5.2-sources.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-demo-consumer-2.5.2-sources.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-demo-provider-2.5.2-sources.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-registry-simple-2.5.2-sources.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\javassist-3.4.GA.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\jline-0.9.94.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\netty-3.2.2.Final.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\netty-3.2.5.Final.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-aop.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-beans.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-context-support.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-context.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-core.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-jdbc.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-jms.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-orm.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-test.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-tx.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-web.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-webmvc-portlet.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-webmvc-struts.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-webmvc.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\zkclient-0.1.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\zookeeper-3.4.5.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\log4j-1.2.12.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\slf4j-api-1.6.1.jar; C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\slf4j-log4j12-1.6.1.jar
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.library.path=D:\soft\UCFSOFTDOC\soft\JDK\Java_JDK1.6_32bit\Java\jdk1.6.0_30\bin; C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows; C:/Program Files (x86)/Java/jre7/bin/client; C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386; C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\; C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem; C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86; C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64; C:\Program Files\Intel\Intel(R) Management Engine Components\DAL; C:\Program Files\Intel\Intel(R) Management Engine Components\IPT; C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL; C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT; D:\soft\UCFSOFTDOC\soft\JDK\Java_JDK1.6_32bit\Java\jdk1.6.0_30\bin; D:\Program Files\TortoiseSVN\bin; D:\soft\UCFSOFTDOC\soft\Maven\apache-maven-3.1.1_20140127\apache-maven-3.1.1\bin; C:\Program Files (x86)\OpenVPN\bin;D:\soft\UCFSOFTDOC\soft\IDE\eclipse_JAVAEE;;.
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.io.tmpdir=C:\Users\lenovo\AppData\Local\Temp\
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.compiler=<NA>
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.name=Windows 7
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.arch=x86
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.version=6.1
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.name=lenovo
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.home=C:\Users\lenovo
2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.dir= C:\Users\lenovo\Downloads\provider\dubboprovider
2014-12-30 15:45:47,218 INFO [org.apache.zookeeper.ZooKeeper] - Initiating client connection, connectString=10.20.5.106:2181 sessionTimeout =30000 watcher=org.I0Itec.zkclient.ZkClient@2acc57
2014-12-30 15:45:47,239 INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server 10.20.5.106/10.20.5.106:2181. Will not attempt to authenticate using SASL (ÎÞ·¨¶¨Î»µÇ¼ÅäÖÃ)
2014-12-30 15:45:47,240 INFO [org.apache.zookeeper.ClientCnxn] - Socket connection established to 10.20.5.106/10.20.5.106:2181, initiating session
2014-12-30 15:45:47,306 WARN [org.apache.zookeeper.ClientCnxnSocket] - Connected to an old server; r-o mode will be unavailable
2014-12-30 15:45:47,306 INFO [org.apache.zookeeper.ClientCnxn] - Session establishment complete on server 10.20.5.106/10.20.5.106:2181, sessionid = 0x14a9a27ba100000, negotiated timeout = 30000
2014-12-30 15:45:47,309 INFO [org.I0Itec.zkclient.ZkClient] - zookeeper state changed (SyncConnected)
2014-12-30 15:45:47,312 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry] - [DUBBO] Register: dubbo://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost=true&application =xixi_provider&dubbo=2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods =sayHello,getUsers&pid=12192&side=provider¡Átamp=1419925546891, dubbo version: 2.5.2, current host: 127.0.0.1
2014-12-30 15:45:47,446 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry] - [DUBBO] Subscribe: provider://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost=true&application =xixi_provider&category=configurators&check=false&dubbo=2.5.2&interface =com.unj.dubbotest.provider.DemoService&methods=sayHello,getUsers&pid =12192&side=provider¡Átamp=1419925546891, dubbo version: 2.5.2, current host: 127.0.0.1
2014-12-30 15:45:47,559 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry] - [DUBBO] Notify urls for subscribe url provider://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost =true&application=xixi_provider&category=configurators&check=false&dubbo=2.5.2&interface =com.unj.dubbotest.provider.DemoService&methods=sayHello,getUsers&pid=12192&side =provider¡Átamp=1419925546891, urls: [empty://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost =true&application=xixi_provider&category=configurators&check=false&dubbo=2.5.2&interface =com.unj.dubbotest.provider.DemoService&methods=sayHello,getUsers&pid=12192&side =provider¡Átamp=1419925546891], dubbo version: 2.5.2, current host: 127.0.0.1

ÕâÑù ¾ÍÔÚ zookeeper µÄ¿ØÖÆÒ³ÃæÖоͻá²éѯµ½ ´Ë·þÎñ Èçͼ£º

±àд·þÎñµÄÏû·ÑÕß ÏîÄ¿Èçͼ£º

DemoService.java Õâ¸ö ·þÎñÌṩÕß ÌṩµÄ·þÎñÀ࣬ÔÚʵ¼Ê¿ª·¢ÖУ¬ÐèÒªÌṩÕß°ÑÕâ¸öÀ࣬´ò³ÉÒ»¸öjar °üÌṩ¸øµ÷ÓÃÕß¡£

package com.unj.dubbotest.provider;  

import java.util.List;

public interface DemoService {

String sayHello(String name);

public List getUsers();

}

Consumer.java

package com.alibaba.dubbo.demo.pp;  

import java.util.List;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.unj.dubbotest.provider.DemoService;

public class Consumer {

public static void main(String[] args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "applicationContext.xml" });
context.start();

DemoService demoService = (DemoService) context.getBean("demoService");
String hello = demoService.sayHello("tom");
System.out.println(hello);

List list = demoService.getUsers();
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
System.in.read();
}

}

applicationContext.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="hehe_consumer" />

<!-- ʹÓÃzookeeper×¢²áÖÐÐı©Â¶·þÎñµØÖ· -->
<!-- <dubbo:registry address="multicast://224.5.6.7:1234" /> -->
<dubbo:registry address="zookeeper://10.20.5.106:2181" />

<!-- Éú³ÉÔ¶³Ì·þÎñ´úÀí£¬¿ÉÒÔÏñʹÓñ¾µØbeanÒ»ÑùʹÓÃdemoService -->
<dubbo:reference id="demoService" interface="com.unj.dubbotest.provider.DemoService" />

</beans>

ÔËÐеĽá¹û£º

ÕâÑù¾Íµ÷ÓÃÍêÁË¡£

   
3964 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þ
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS

ÃæÏòÓ¦Óõļܹ¹Éè¼ÆÊµ¼ù
µ¥Ôª²âÊÔ+ÖØ¹¹+Éè¼ÆÄ£Ê½
Èí¼þ¼Ü¹¹Ê¦¡ª¸ß¼¶Êµ¼ù
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù
SOAÌåϵ½á¹¹Êµ¼ù

Èñ°²¿Æ¼¼ Èí¼þ¼Ü¹¹Éè¼Æ·½·¨
³É¶¼ ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
ÉϺ£Æû³µ ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
±±¾© Èí¼þ¼Ü¹¹Éè¼Æ
ÉϺ£ Èí¼þ¼Ü¹¹Éè¼Æ°¸ÀýÓëʵ¼ù
±±¾© ¼Ü¹¹Éè¼Æ·½·¨°¸ÀýÓëʵ¼ù
ÉîÛÚ ¼Ü¹¹Éè¼Æ·½·¨°¸ÀýÓëʵ¼ù
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù