Dubbox的入门小案例

Dubbox

关于Dubbox身世的小故事

Dubbox原来是阿里的亲儿子Dubbo,不过后来阿里又生了一个小儿子HSF,正所谓,有了新欢,那还需要旧爱.所以Dubbo就被阿里赶出家门,流落街头.
不过,天无绝人之路,当当网觉得Dubbo是个可造之才,所以收养了Dubbo,而为了与过去的苦难日子进行告别,Dubbo改名为Dubbox.

Dubbox用来干什么

Dubbox 致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。简单的说,dubbox 就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有 dubbox 这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。

Dubbox入门案例

生产者
@Service//这里的 Service是com.alibaba.dubbo.config.annotation.Service
public class UserServiceImpl implements UserService {
    @Override
    public String getName() {
        return "HelloWorld";
    }
}

xml配置

<dubbo:application name="dubboxdemo-service"/>  
<dubbo:registry address="zookeeper://192.168.24.125:2181"/> 
<dubbo:annotation package="cn.dubbodemo.service" />    
</beans>
消费者
@RestController
@RequestMapping(value="/user")
public class UserController {
    @Reference
    private UserService userService;//消费者需要导入生产者的接口
    @RequestMapping(value="/showName")
    public String showName() {
        return userService.getName();
    }
}

xml配置

<mvc:annotation-driven>
        <mvc:message-converters register-defaults="false">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>
    <!-- 引用 dubbo 服务 -->
    <dubbo:application name="dubboxdemo-web" />
    <dubbo:registry address="zookeeper://192.168.25.135:2181" />
    <dubbo:annotation package="cn.dubbodemo.controller" />
</beans>

运行结果:
这里写图片描述

监控中心:
这里写图片描述
这里写图片描述

不负责乱谈Dubbox的运行

这里写图片描述

Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
由于我本人喜欢看八九十年代的港产黑帮片,所以我就以黑帮片中的某些情节解说一下上图.当然,如果我说的不好,那你就忍着看吧,谁让你点进来了呢?
上图中,应该在容器上加个0的,毕竟第一步就是通过容器来启动,不过运行代码,哪有不需要启动的呢?所以就没有写0了,而且一般来说,Dubbox的容器都用spring,所以我也就懒得说容器了.
①:在我看来,所谓生产者,其实就是黑帮片那种专门提高高级娱乐的服务者.当有新的服务者小红出现的时候,必然需要将自己的信息上报给高级娱乐场所管理者靓坤.
②:一向喜欢花花草草的潇洒哥在教训完某南后,想要放松放松,于是向靓坤询问有没有新来的服务者,
③:在得知潇洒哥的需求后,由于潇洒哥不喜欢去店里,所以靓坤就将新来的小红的信息发给了潇洒哥.
④:潇洒哥靓坤那得到小红的信息后,直接一个电话打给小红,经过一番谈价后,两人达成协议,进行了服务于被服务.
⑤:在服务完,或者是服务过程中,或许小红技术不好,潇洒哥不满意.又或者是潇洒哥横行惯了,想吃霸王*,光享受服务,不给钱.两人产生纠纷,大家不好调理.这时候将臣大佬通过他那看穿一切的眼睛,调出监控器,还原事情经过,该付钱的付钱,该好好服务的好好服务.
……
在我的理解中,上图大概就是这个样子.图中的实线部分,相当于电学中的串联,而虚线部分,相当于并联,用java中的话来说,就是ajax.

⑥:后来,靓坤由于太骚,太讲信用,说要”全家***,就要全家***”,干不好管理工作,这个时候,江湖上出现一个叫乌鸦的家伙,乌鸦一出来,就用强硬的手段向各方大佬展示了自己强大的能力,从而被各方大佬默认为高级服务管理者.而乌鸦在程序江湖中的大名就是Zookeeper.

Zookeeper

zookeeper, 注册中心。负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbox 服务的注册中心,工业强度较高,可用于生产环境.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值