Dubbo基础01:认识Dubbo

一、认识Dubbo

1、SOA

         1.1中英文:service oriented Ambiguity 面向服务架构

                   1.1.1 有提供服务的单元

                   1.1.2 其他单位调用这个服务

1.2定位:如何设计项目,让开发更有效率,SOA是一种思想

1.3老架构问题:

1.3.1公司项目不允许所有项目都访问数据库

1.3.2开发时数据访问层有冗余问题

2、使用SOA架构

2.1专门访问数据库服务(项目)

2.2  开发时可以实现数据库访问控制和代码复用

 

 

3、实现SOA架构,常用服务

         3.1 Dubbo做为服务

         3.2 WebService 做为服务

         3.3 DubboX 做为服务

         3.4 服务方就是Web项目,调用Web项目的控制器

                   3.4.1 使用HTTPClient可以调用其他项目的控制器

二、RPC

1. 中英文 Remote Procedure Call Protocal 远程过程调用协议

2. RPC解析:客户端通过互联网调用远程服务器,不知道远程服务器具体实现,只知道远程服务器提供了什么功能

         3. RPC最大优点:保证被访问的数据安全性

三、Dubbo简介

1. Dubbo是一个分布式、高性能、透明化的RPC服务框架

2. 作用:提供服务自动注册、自动发现等高效服务治理方案

3、Dubbo架构图

         3.1 Provider: 提供者,服务发布方,提供数据访问

         3.2 Consumer: 消费者,调用服务方

         3.3 Container: Dubbo容器,依赖于Spring容器

         3.4 Registry: 注册中心,当Container启动时把所有可以提供的服务列表在Registry中进行注册

         3.5 Moniter: 监听器

                   3.4.1 作用:告诉Consumer提供了什么服务和服务方在哪里

         3.6 虚线都是异步访问,实线都是同步访问

         3.7 蓝色虚线:在启动时完成的功能

         3.8红色虚线(实线)都是程序运行过程中执行的功能

         3.9 所有的角色都可以在单独的服务器上运行,所以必须遵守相应的协议

4、运行原理:

         4.0.start 启动容器,相当于在启动Dubbo的Provider

         4.1.Register 启动后会去注册中心进行注册,注册所有可以提供的服务列表

         4.2.Subscribe 在Consumer启动后,会去Registry获取(订阅)服务列表和Provider地址

         4.3.当Provider有修改后,注册中心会把消息推送给Consumer

                   4.3.1.使用了观察者设计模式(又叫发布/订阅设计模式):当Provider发生改变时,注册中心会通知Consumer修改

         4.4.根据获取到的Provider地址,真实调用Provider中功能

                   4.4.1.在Consumer方使用了代理设计模式,创建一个provider方类的一个代理对象。通过代理对象获取Provider中真实功能,起到保护Provider真实功能的作用

         4.5.Consumer和Provider每隔1分钟向Monitor发送统计信息,统计信息包含:访问次数、频率等

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值