- 概述
Dubbo是一个致力于提供高性能和透明的分布式服务框架RPC远程服务调用场景,以及SOA服务治理方案。主要核心部件
Remoting: 网络通信框架,实现sync-over-async 和 request-response 消息机制.
RPC: 支持负载平衡、容灾和集群的远程过程调用抽象。
Registry: 服务目录框架用于服务注册、服务事件发布和订阅。
Dubbo采用全Spring配置方法,透明访问应用程序,无应用程序API入侵,只需使用Spring加载Dubbo该配置可以是,Dubbo基于Spring的Schema扩展名已加载。
dubbo架构图如下:
节点角色描述:
Provider: 公开服务的服务提供程序。
Consumer: 调用远程服务的服务使用者。
Registry: 服务注册和发现的注册表。
Monitor: 统计服务呼叫数和呼叫时间的监控中心。
Container: 服务运行容器。
呼叫关系描述:
0 服务容器负责启动、加载和运行服务提供程序。
- 服务提供程序在启动时向注册表注册它提供的服务。
- 服务使用者向注册中心订阅启动时所需的服务。
- 注册表向使用者返回一个服务提供者地址列表,如果有更改,则注册表会根据长连接将更改数据推送给使用者。
- 服务使用者根据软负载平衡算法从提供者地址列表中选择要调用的提供者,如果调用失败,则选择另一个调用。
- 服务消费者和提供商在存储器中累积呼叫次数和呼叫时间,并每分钟定期向监控中心发送统计数据。
Dubbo某些属性:
用于公开服务的服务配置定义了服务的元信息,服务可以在多个协议中公开,服务也可以注册到多个注册表。
eg、
引用服务配置,用于创建远程服务代理,引用可以指向多个注册表。
eg、
协议配置,用于配置用于提供服务的协议信息。协议由提供者指定,由使用者被动接受。
eg、
应用程序配置,用于配置当前应用程序信息,无论应用程序是提供者还是使用者。
eg、
模块配置,用于配置当前模块信息,可选。
注册表配置,用于配置有关连接注册表的信息。
eg、
监控中心配置,用于配置有关连接到监控中心的信息。可选择的
提供程序的默认值,当ProtocolConfig和ServiceConfig未配置属性时使用此默认值。可选择的
消费者默认配置,当ReferenceConfig未配置属性时使用此默认值。可选择的
方法配置ServiceConfig和ReferenceConfig指定方法级配置信息。
用于指定方法参数配置。
注意:
区分服务器和客户端
服务端:dubbo:service
<dubbo:service protocol="dubbo" interface="com.chainfin.loan.service.LonApplicationService"
group="${dubbo.protocol.group}" version="${dubbo.protocol.version}"
timeout="${dubbo.protocol.timeout}" ref="loanAppService" retries="0"/>
客户端:dubbo:reference
进程:服务器为客户端提供调用接口。理论上,外人不知道服务器提供的接口,也不知道项目的真实架构过程。
一般分为三个步骤:1.服务器提供接口,通常部署在自己的内部网中。2,暴露于外部网络的客户端接口,供其他项目调用该接口。中间是黑白名单。不要详述(我也没学过。)
服务器代码:
1、config.properties配置文件(包含数据库,zk的,redis等等一些配置信息)。
2、applicationContext.xml spring 配置文件,则加载配置文件。这样的
3、applicationContext\_dubbo\_main\_server.xml Dubbo服务器提供的配置文件和接口:
客户代码:
1、config.properties某些属性的配置文件信息
2、spring-context.xml spring加载的配置文件信息。config.properties配置文件。
3、spring-context-dubbo-client.xml Dubbo 客户端配置文件:
4注意:虽然我在接口中提供了一个消息推送接口。但是dubbo没有消息推送功能。它们都是自己编写的接口,然后根据业务实现。您可以连接消息中间件等的实现。
5,黑白列表可以指文档。例如:http://itindex.net/detail/56167-dubbo-%E6%8E%A5%E5%8F%A3-dubbo
---------------------
作者:Rose逆水行舟
来源:CSDN
原文:https://blog.csdn.net/liyintaoliuyun/article/details/80066269
版权声明:本文为博主原创文章,转载请附上博客链接!
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除