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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
DubboÊÇʲô£¿ÄÜ×öʲô£¿
 
  8306  次浏览      27
 2018-10-9
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚCSDN£¬±¾ÎÄÏêϸ½éÉÜÁËdubboÊÇʲô¡¢dubboºËÐIJ¿·ÖÒÔ¼°dubboµÄ¼Ü¹¹ £¬Ï£Íû¶Ô´ó¼ÒµÄѧϰÄÜÓÐËù°ïÖú¡£

1. DubboÊÇʲô£¿

DubboÊÇÒ»¸ö·Ö²¼Ê½·þÎñ¿ò¼Ü£¬ÖÂÁ¦ÓÚÌṩ¸ßÐÔÄܺÍ͸Ã÷»¯µÄRPCÔ¶³Ì·þÎñµ÷Ó÷½°¸£¬ÒÔ¼°SOA·þÎñÖÎÀí·½°¸¡£¼òµ¥µÄ˵£¬dubbo¾ÍÊǸö·þÎñ¿ò¼Ü£¬Èç¹ûûÓзֲ¼Ê½µÄÐèÇ󣬯äʵÊDz»ÐèÒªÓõģ¬Ö»ÓÐÔÚ·Ö²¼Ê½µÄʱºò£¬²ÅÓÐdubboÕâÑùµÄ·Ö²¼Ê½·þÎñ¿ò¼ÜµÄÐèÇ󣬲¢ÇÒ±¾ÖÊÉÏÊǸö·þÎñµ÷ÓõĶ«¶«£¬Ëµ°×Á˾ÍÊǸöÔ¶³Ì·þÎñµ÷Óõķֲ¼Ê½¿ò¼Ü£¨¸æ±ðWeb ServiceģʽÖеÄWSdl£¬ÒÔ·þÎñÕßÓëÏû·ÑÕߵķ½Ê½ÔÚdubboÉÏ×¢²á£©

ÆäºËÐIJ¿·Ö°üº¬:

1. Ô¶³ÌͨѶ: Ìṩ¶Ô¶àÖÖ»ùÓÚ³¤Á¬½ÓµÄNIO¿ò¼Ü³éÏó·â×°£¬°üÀ¨¶àÖÖÏß³ÌÄ£ÐÍ£¬ÐòÁл¯£¬ÒÔ¼°¡°ÇëÇó-ÏìÓ¦¡±Ä£Ê½µÄÐÅÏ¢½»»»·½Ê½¡£

2. ¼¯ÈºÈÝ´í: Ìṩ»ùÓÚ½Ó¿Ú·½·¨µÄ͸Ã÷Ô¶³Ì¹ý³Ìµ÷Ó㬰üÀ¨¶àЭÒéÖ§³Ö£¬ÒÔ¼°Èí¸ºÔØ¾ùºâ£¬Ê§°ÜÈÝ´í£¬µØÖ·Â·ÓÉ£¬¶¯Ì¬ÅäÖõȼ¯ÈºÖ§³Ö¡£

3. ×Ô¶¯·¢ÏÖ: »ùÓÚ×¢²áÖÐÐÄĿ¼·þÎñ£¬Ê¹·þÎñÏû·Ñ·½Äܶ¯Ì¬µÄ²éÕÒ·þÎñÌṩ·½£¬Ê¹µØÖ·Í¸Ã÷£¬Ê¹·þÎñÌṩ·½¿ÉÒÔÆ½»¬Ôö¼Ó»ò¼õÉÙ»úÆ÷¡£

2. DubboÄÜ×öʲô£¿

1.͸Ã÷»¯µÄÔ¶³Ì·½·¨µ÷Ó㬾ÍÏñµ÷Óñ¾µØ·½·¨Ò»Ñùµ÷ÓÃÔ¶³Ì·½·¨£¬Ö»Ðè¼òµ¥ÅäÖã¬Ã»ÓÐÈκÎAPIÇÖÈë¡£

2.Èí¸ºÔØ¾ùºâ¼°ÈÝ´í»úÖÆ£¬¿ÉÔÚÄÚÍøÌæ´úF5µÈÓ²¼þ¸ºÔؾùºâÆ÷£¬½µµÍ³É±¾£¬¼õÉÙµ¥µã¡£

3. ·þÎñ×Ô¶¯×¢²áÓë·¢ÏÖ£¬²»ÔÙÐèҪдËÀ·þÎñÌṩ·½µØÖ·£¬×¢²áÖÐÐÄ»ùÓÚ½Ó¿ÚÃû²éѯ·þÎñÌṩÕßµÄIPµØÖ·£¬²¢ÇÒÄܹ»Æ½»¬Ìí¼Ó»òɾ³ý·þÎñÌṩÕß¡£

Dubbo²ÉÓÃÈ«springÅäÖ÷½Ê½£¬Í¸Ã÷»¯½ÓÈëÓ¦Ó㬶ÔÓ¦ÓÃûÓÐÈκÎAPIÇÖÈ룬ֻÐèÓÃSpring¼ÓÔØDubboµÄÅäÖü´¿É£¬Dubbo»ùÓÚSpringµÄSchemaÀ©Õ¹½øÐмÓÔØ¡£

֮ǰʹÓÃWeb Service£¬ÎÒÏë²âÊÔ½Ó¿Ú¿ÉÒÔͨ¹ýÄ£ÄâÏûÏ¢µÄ·½Ê½Í¨¹ýsoapui»òLR½øÐй¦ÄܲâÊÔ»òÐÔÄܲâÊÔ¡£µ«ÏÖÔÚʹÓÃDubbo£¬½Ó¿ÚÖ®¼ä²»ÄÜÖ±½Ó½»»¥£¬ÎÒ³¢ÊÔͨ¹ýÄ£ÄâÏû·ÑÕßµØÖ·²âÊÔ£¬½á¹û²»¿°ÈëÄ¿£¬ÔÙ¶øÊ¹ÓÃjmeterͨ¹ýjunit½øÐвâÊÔ£¬µ«»¹ÊÇÐèÒªÍùdubboÉÏÈ¥×¢²á£¬Èç¹ûÔÙ²»¸øÌṩԴ´úÂëµÄǰÌáÏ£¬Õâ¸ö²âÊÔÓÃÀý²»ºÃд°¡....

3. dubboµÄ¼Ü¹¹

dubbo¼Ü¹¹Í¼ÈçÏÂËùʾ£º

½Úµã½Çɫ˵Ã÷£º

Provider:±©Â¶·þÎñµÄ·þÎñÌṩ·½¡£

Consumer:µ÷ÓÃÔ¶³Ì·þÎñµÄ·þÎñÏû·Ñ·½¡£

Registry:·þÎñ×¢²áÓë·¢ÏÖµÄ×¢²áÖÐÐÄ¡£

Monitor:ͳ¼Æ·þÎñµÄµ÷Óôε÷ºÍµ÷ÓÃʱ¼äµÄ¼à¿ØÖÐÐÄ¡£

Container:·þÎñÔËÐÐÈÝÆ÷¡£

ÕâµãÎÒ¾õµÃ·Ç³£ºÃ£¬½ÇÉ«·ÖÃ÷£¬¿ÉÒÔ¸ù¾Ýÿ¸ö½Úµã½ÇÉ«µÄ״̬À´È·¶¨¸Ã·þÎñÊÇ·ñÕý³£¡£

µ÷ÓùØÏµËµÃ÷£º

0 ·þÎñÈÝÆ÷¸ºÔðÆô¶¯£¬¼ÓÔØ£¬ÔËÐзþÎñÌṩÕß¡£

1. ·þÎñÌṩÕßÔÚÆô¶¯Ê±£¬Ïò×¢²áÖÐÐÄ×¢²á×Ô¼ºÌṩµÄ·þÎñ¡£

2. ·þÎñÏû·ÑÕßÔÚÆô¶¯Ê±£¬Ïò×¢²áÖÐÐĶ©ÔÄ×Ô¼ºËùÐèµÄ·þÎñ¡£

3. ×¢²áÖÐÐÄ·µ»Ø·þÎñÌṩÕßµØÖ·ÁÐ±í¸øÏû·ÑÕߣ¬Èç¹ûÓбä¸ü£¬×¢²áÖÐÐĽ«»ùÓÚ³¤Á¬½ÓÍÆËͱä¸üÊý¾Ý¸øÏû·ÑÕß¡£

4. ·þÎñÏû·ÑÕߣ¬´ÓÌṩÕßµØÖ·ÁбíÖУ¬»ùÓÚÈí¸ºÔØ¾ùºâËã·¨£¬Ñ¡Ò»Ì¨ÌṩÕß½øÐе÷Óã¬Èç¹ûµ÷ÓÃʧ°Ü£¬ÔÙÑ¡Áíһ̨µ÷Óá£

5. ·þÎñÏû·ÑÕߺÍÌṩÕߣ¬ÔÚÄÚ´æÖÐÀۼƵ÷ÓôÎÊýºÍµ÷ÓÃʱ¼ä£¬¶¨Ê±Ã¿·ÖÖÓ·¢ËÍÒ»´Îͳ¼ÆÊý¾Ýµ½¼à¿ØÖÐÐÄ¡£

dubboµÄÈÝ´íÐÔÏÔ¶øÒ×¼û£¬ÐÔÄÜ·½Ã滹ûÓл¹µÃ¼°²â£¬ÎÒÃÇÏµÍ³Ä³Ò³ÃæÐèÒªµô5´Î½Ó¿Ú£¬±¾À´Ï뽨Òé×ö¸ö»º´æ£¬µ«ÒµÎñ¹ØÏµ²»ÄܲÉÄÉ£¬»¹ÐèÒªÑо¿ÏÂdubboµÄÐÔÄܵ÷ÓÅÎÊÌâ...

4. dubboʹÓ÷½·¨¡£

Dubbo²ÉÓÃÈ«SpringÅäÖ÷½Ê½£¬Í¸Ã÷»¯½ÓÈëÓ¦Ó㬶ÔÓ¦ÓÃûÓÐÈκÎAPIÇÖÈ룬ֻÐèÓÃSpring¼ÓÔØDubboµÄÅäÖü´¿É£¬Dubbo»ùÓÚSpringµÄSchemaÀ©Õ¹½øÐмÓÔØ¡£Èç¹û²»ÏëʹÓÃSpringÅäÖ㬶øÏ£Íûͨ¹ýAPIµÄ·½Ê½½øÐе÷Ó㨲»ÍƼö£©

ÏÂÃæÎÒÃǾÍÀ´¿´¿´springÅäÖ÷½Ê½µÄд·¨:

·þÎñÌṩÕߣº

1.ÏÂÔØzookeeper×¢²áÖÐÐÄ£¬ÏÂÔØµØÖ·£ºhttp://www.apache.org/dyn/closer.cgi/zookeeper/ÏÂÔØºó½âѹ¼´¿É£¬½øÈëD:\apach-zookeeper-3.4.5\bin£¬

Ë«»÷zkServer.cmdÆô¶¯×¢²áÖÐÐÄ·þÎñ¡£

2.¶¨Òå·þÎñ½Ó¿Ú: (¸Ã½Ó¿ÚÐèµ¥¶À´ò°ü£¬ÔÚ·þÎñÌṩ·½ºÍÏû·Ñ·½¹²Ïí)

ÏÂÃæÕâ¸öÀý×Ó²»´í£¬Ð´µÄºÜÏêϸ¿ÉÒÔ×ö¸ömodel

packagecom.unj.dubbotest.provider;

importjava.util.List;

publicinterfaceDemoService{

StringsayHello(Stringname);

publicListgetUsers();

}

ÔÚ·þÎñÌṩ·½ÊµÏÖ½Ó¿Ú£º(¶Ô·þÎñÏû·Ñ·½Òþ²ØÊµÏÖ)

packagecom.unj.dubbotest.provider;

importjava.util.ArrayList;
importjava.util.LinkedList;
importjava.util.List;


publicclassDemoServiceImplimplementsDemoService{

publicStringsayHello(Stringname){
return"Hello"+name;
}
publicListgetUsers(){
Listlist=newArrayList();
Useru1=newUser();
u1.setName("jack");
u1.setAge(20);
u1.setSex("ÄÐ");

Useru2=newUser();
u2.setName("tom");
u2.setAge(21);
u2.setSex("Å®");

Useru3=newUser();
u3.setName("rose");
u3.setAge(19);
u3.setSex("Å®");

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

ÓÃSpringÅäÖÃÉùÃ÷±©Â¶·þÎñ£º

<xmlversion="1.0"encoding="UTF-8">
<beansxmlns="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-->
<beanid="demoService"class="com.unj.dubbotest.provider.
DemoServiceImpl"/>

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

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

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

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

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

</beans>

¼ÓÔØSpringÅäÖã¬Æô¶¯·þÎñ£º

packagecom.unj.dubbotest.provider;

importorg.springframework.context.support.
ClassPathXmlApplicationContext;

publicclassProvider{

publicstaticvoidmain(String[]args)throwsException{
ClassPathXmlApplicationContextcontext=
newClassPathXmlApplicationContext(newString[]{"applicationContext.xml"});
context.start();

System.in.read();//Ϊ±£Ö¤·þÎñÒ»Ö±¿ª×Å£¬ÀûÓÃÊäÈëÁ÷µÄ×èÈûÀ´Ä£Äâ
}

}

·þÎñÏû·ÑÕߣº

applicationContext-dubbo.xml ÖÐ×¢²á×Ô¼ºÐèÒªµ÷ÓõĽӿڣ¬ÎÒ¸Õ¿ªÊ¼²âÊÔµÄʱºòÐèÒªµÄ½Ó¿ÚºÜ¶à£¬ËùÒÔ°ÑÕâ¸öÎļþдµÄÂúÂúµÄ£¬ºóÀ´ÊìϤÁ˰ѽӿڰ´ÒµÎñÀàÐÍ·Ö¿ª£¬Ð´ÁËN¶à¸öapplicationContext-dubbo-***.xml ¼òÁ·¶àÁË ¡·¡£

1.ͨ¹ýSpringÅäÖÃÒýÓÃÔ¶³Ì·þÎñ£º

<xmlversion="1.0"encoding="UTF-8">
<beansxmlns="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:applicationname="hehe_consumer"/>

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

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

</beans>

2.¼ÓÔØSpringÅäÖ㬲¢µ÷ÓÃÔ¶³Ì·þÎñ£º

packagecom.alibaba.dubbo.demo.pp;

importjava.util.List;

importorg.springframework.context.support.
ClassPathXmlApplicationContext;

importcom.unj.dubbotest.provider.DemoService;

publicclassConsumer{

publicstaticvoidmain(String[]args)throwsException{
ClassPathXmlApplicationContextcontext=
newClassPathXmlApplicationContext(
newString[]{"applicationContext.xml"});
context.start();

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

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

}

µ÷Óýá¹ûΪ£º

dubbo¹ÜÀíÒ³Ãæ£º

Õâ¸ö¹ÜÀíÒ³Ãæ»¹ÐèÒª²¿ÊðÒ»¸ö»·¾³µÄ£¬Ò»¿ªÊ¼ÎÒ»¹ÒÔΪÊÇdubbo×Ô´øµÄ£¬ÕÒÁ˰ëÌìûÓÐÕÒµ½....

Ó¦ÓÃÒ³Ãæ£º

ÌṩÕßÒ³Ãæ:

Ïû·ÑÕßÒ³Ãæ£º

·þÎñÒ³Ãæ£º

²âÊÔÊÇ·ñ³É¹¦£¬ÎÒ¾õµÃÖ»Òª¿´¿´×´Ì¬ÊÇ·ñÕý³££¬¾ÍokÁË ....

   
8306 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼ÆÄ£Ê½¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö