dubbo 简单介绍

大家好,我是修真院 武汉分院 第十五期 java 学员,今天 我给大家分享的是——  dubbo  简单介绍

 

1.背景介绍

2.知识剖析

3.常见问题

4.编码实战

5.扩展思考

6.参考文献

7.更多讨论

 

1.背景介绍

什么是DUBBO?

1、一款分布式服务框架;
2、高性能和透明化的RPC远程服务调用方案;
3、SOA服务治理方案。

应用架构进化史

1、单一应用架构:当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。
2、垂直应用架构:当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。

3、分布式服务架构:当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。
4、流动计算架构:当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。

2.知识剖析

节点角色说明

Provider:暴露服务的服务提供方

Consumer:调用远程服务的服务消费方

Registry:服务注册与发现的注册中心

Monitor:统计服务的调用次数和调用时间的监控中心

Container:服务运行容器

调用关系说明

1.服务容器负责启动,加载,运行服务提供者

2.服务提供者在启动时,向注册中心注册自己提供的服务

3.服务消费者在启动时,向注册中心订阅自己所需的服务

4.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者

5.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用

6.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

3.常见问题

3.1 DUBBO 解决的需求?

3.2 DUBBO优缺点?

3.3 什么是ZOOKEEPER?

3.1 DUBBO 解决的需求?

1.未服务化之前,可以通过 RMI 或 Hessian 等工具,简单的暴露和引用远程服务,通过服务的URL地址调用,服务增多后,服  务  URL配置很难管理,需要一个服务注册中心,动态的注册和发现服务
2.服务间依赖关系错综复杂,需要自动画出应用间的依赖
3.服务的调用变大,服务的容量问题

3.2 DUBBO优缺点?

优点:1、透明化的远程方法调用,只需简单配置,没有任何API侵入。2、软负载均衡及容错机制 。3、服务注册中心自动注册 & 配置管理 。 4、服务接口监控与治理 ,Dubbo-admin与Dubbo-monitor提供了完善的服务接口管理与监控功能,针对不同应用的不同接口,可以进行 多版本,多协议,多注册中心管理。
缺点: 只支持JAVA语言

3.3 什么是ZOOKEEPER?

zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。
zookeeper通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系从列表中删除。
至于支持高并发,简单来说就是横向扩展,在不更改代码的情况通过添加机器来提高运算能力

4.编码实战

5.扩展思考

什么是长连接和心跳机制?

网络中的接收和发送数据都是使用操作系统中的SOCKET进行实现。

可是如何判断这个机制是否还可以使用呢?这个就需要在系统中创建心跳机制。

TCP就会在一定的时间内发送你设置的次数的心跳,并且此信息不会影响你自己定义的协议。

所谓“心跳”就是定时发送一个自定义的结构体(心跳包或心跳帧),让对方知道自己“在线”。 以确保链接的有效性

6.参考文献

http://dubbo.io/books/dubbo-user-book/

https://blog.csdn.net/daiqinge/article/details/51282874#reply

7.更多讨论

分享到此结束

谢谢大家!

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值