dubbo的简单配置及原理

1.Dubbo是什么?
dubbo是一个分布式服务框架,致力于高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
核心部分:
(1)远程通讯:提供对多种基于长连接的NIO框架抽象封装;
(2)集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持
(3)自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务方可以平滑增加或减少机器
2.Dubbo能做什么?
(1)透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入;
(2)软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点;
(3)服务自动注册于发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。
3.如何使用Dubbo?
(1)服务化应用基本框架
dubbo的简单配置及原理_第1张图片
consumer和provider是框架中必然存在的,Registry做为全局配置信息管理模块,推荐生产环境使用Registry,可实时推送现存活的服务提供者,Monitor一般用于监控和统计RPC调用情况、成功率、失败率等情况,让开发及运维了解线上运行情况
(2)服务端
提供方应用名称信息,这个相当于起一个名字,我们dubbo管理页面比较清晰是哪个应用暴露出来的

application name="${dubbo.name}" />

使用zookeeper注册中心暴露服务地址 ;
配置注册中心,通过group指定注册中心分组,可通过register配置是否注册到该注册中心以及subscribe配置是否从该注册中心订阅

"zookeeper" address="${dubbo.server}" group="zhucb"/>

配置服务协议,多网卡可通过IP指定绑定的IP地址
使用Dubbo协议的服务会在初始化时建立长连接

"dubbo" port="${dubbo.port}" />

服务端暴露接口的配置文件

<import resource="spring-context-dubbo-provider.xml"/>

要暴露的服务接口

interface="com.vviton.zyhj.admin.provider.HzfInfoCorsService" ref="hzfInfoCorsService"/>

定义要暴露的服务bean

<bean id="hzfInfoCorsService" class="com.vviton.zyhj.admin.provider.HzfInfoCorsServiceImpl" >bean>

(3)客户端
配置文件

<import resource="spring-context-dubbo-consumer.xml"/>

配置客户端reference bean。客户端跟服务端不同的是客户端这边没有实际的实现类的,所以配置的dubbo:reference实际会生成一个spring bean实例,作为代理处理Dubbo请求,然后其他要调用处直接使用spring bean的方式使用这个实例即可

reference id="commonCorsIgService" interface="com.wdcloud.opcenter.integral.provider.CommonCorsService" check="false"/>

以上为我在项目中使用到的;其实dubbo还有很多的性能,比如:
监控中心、服务路由、负载均衡等

你可能感兴趣的:(dubbo,dubbo项目,配置)