会用不代表懂----Dubbo

一、个人理解

程序员A写了一个服务(servie),按照DUBBO的规则进行配置,程序员B、程序员C、程序员N......可以用的像程序员A一样,毫无违和感,这就是DUBBO。

都知道Socket通信。程序员A 写了一个java界堪称经典的 "Hello Word" 服务。并告诉程序员B IP和PORT ,程序员B 按照Socket的通信规则写好代码与程序员A通信,结果 "Hello Word" 便跃然控制台。这是通信,这是通信,这是通信,重要的事情说三遍。然而貌似对DUBBO的解释并没有什么卵用。醉了。

    调用A (点对点)
B----------------->A 

有一天程序员A,又在自己电脑上兴致勃勃的写下了一个 Print "Hello Word" 的经典、简陋服务。程序员A 觉得好的东西要懂得分享,于是乎,就将Print "Hello Word" 的经典、简陋服务注册到程序员C的电脑上,然后就告诉程序员B的注册地址(程序员C的IP和PORT),程序员B按照DUBBO的通信规则写好代码,结果 结果 "Hello Word" 便跃然控制台。

    注册服务到C            C用调 
A----------------->C<----------------A

二、DUBBO组成

Provider 服务提供方
Consumer 服务订阅方
Registry 服务注册中心 
Monitor  服务监控(统计某个服务被调用次数等)   

三、代码大放送

服务端:

服务:SaySomethingService

public String saySomething(String message);

实现:SaySomethingServiceImpl

@Override
public String saySomething(String message) {
    LOG.info("==================================================");
    LOG.info("message : " + message);
    LOG.info("==================================================");
    return message;
}


服务有了,结合Spring进行配置

<!-- 服务方应用名,用于计算依赖关系 -->
<dubbo:application name="say-something-app-server"/>

<!-- 将写好的服务 通过multicast广播到DUBBO的注册中心-->
<dubbo:registry address="multicast://224.5.6.7:1234"/>

<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880"/>

<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="com.sdyc.ndmp.wechat.bean.SaySomethingService" ref="saySomethingService"/>

<!-- 和本地bean一样实现服务 -->
<bean id="saySomethingService" class="com.sdyc.ndmp.wechat.bean.SaySomethingServiceImpl"/>


消费端:

<!-- 消费方应用名,用于计算依赖关系 -->
<dubbo:application name="say-something-app-consumer"/>

<!--使用multicast广播注册中心暴露发现服务地址-->
<dubbo:registry address="multicast://224.5.6.7:1234"/>

<!-- 和本地bean一样实现服务 -->
<dubbo:reference id="saySomethingService" interface="com.sdyc.ndmp.wechat.bean.SaySomethingService"/>

完毕。

转载于:https://my.oschina.net/momisabuilder/blog/533346

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值