Dubbo学习笔记(一)之入门简介基础

一、SOA

1、官网解释

        面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,

        并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独

        立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种

        统一和通用的方式进行交互。

2、SOA定位

      如何设计项目,让开发时更有效率

      SOA是一种思想

      面向服务架构:(1)、有一个专门提供服务的单元

                                (2)、其他所有单元都调用这个服务

3、项目架构设计

     3.1、老旧架构设计

   

   存在的问题:1.公司项目不允许所有项目都访问数据库

                         2.开发时数据访问层代码可能出现冗余的问题

   3.2、使用SOA架构

           3.2.1、专门访问数据库的(项目)服务

           3.2.2、SOA框架设计

         SOA架构好处:开发时可以实现,数据访问控制以及代码的复用

4、实现SOA架构时,常用的几种服务

    4.1、Dubbo 服务

    4.2、WebService 服务

    4.3、Dubbox 服务

    4.4、服务方(Web项目,直接调用web项目的控制器)

            4.4.1、使用HttpClient可以调用其他项目的控制器

二、RPC

1、官网解释

RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

有多种 RPC模式和执行。最初由 Sun 公司提出。IETF ONC 宪章重新修订了 Sun 版本,使得 ONC RPC 协议成为 IETF 标准协议。现在使用最普遍的模式和执行是开放式软件基础的分布式计算环境(DCE)。

 2、RPC解释

  远程客户端(A)通过互联网调用远程服务器(B),不知道远程服务器(B)具体实现,只知道远程服务器(B)提供了什么功能。

3、RPC优点

    3.1、数据安全性

三、Dubbo简介

1、官网解释

Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [1]  Spring框架无缝集成。

Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

2、优点:分布式、高性能、透明化的RPC服务框架

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

4、Dubbo架构图

4.1、运行原理(对调用关系解释)

       4.1.0、启动容器,相当于在启动Dubbo的Provider

       4.1.1、启动后悔去注册中心Registry进行注册,注册所有可以提供服务的服务列表

       4.1.2、在Consumer启动后会去Registry中获取服务列表和Provider的地址,进行订阅。

       4.1.3、档Provider有修改后,注册中心会把消息吐送给Consummer(观察者设计模式(发布/订阅模式))

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

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

       4.1.5、Monitor监听器,Consummer和Provider每隔一分钟会向Monitor发送统计信息,包含访问次数、频率

       4.1.6、虚线都是异步,实线都是同步访问

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

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

       4.1.8、所有的角色都是可以在单独的服务器上,所以必须遵守特定的协议。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值