本篇内容主要讲解“dubbo分层设计有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带开发云主机域名大家学习“dubbo分层设计有哪些”吧! dubbo分层设计:config 配置层:对外配置接口,以ServiceConfig
,ReferenceConfig
为中心,可以直接初始化配置类,也可以通过 spring 解析配置生成配置类proxy 服务代理层:服务接口透明代理,生成服务的客户端 Stub 和服务器端 Skeleton, 以ServiceProxy
为中心,扩展接口为ProxyFactory
registry 注册中心层:封装服务地址的注册与发现,以服务 URL 为中心,扩展接口为RegistryFactory
,Registry
,RegistryService
cluster 路由层:封装多个提供者的路由及负载均衡,并桥接注册中心,以Invoker
为中心,扩展接口为Cluster
,Directory
,Router
,LoadBalance
monitor 监控层:RPC 调用次数和调用时间监控,以Statistics
为中心,扩展接口为MonitorFactory
,Monitor
,MonitorService
protocol 远程调用层:封装 RPC 调用,以Invocation
,Result
为中心,扩展接口为Protocol
,Invoker
,Exporter
exchange 信息交换层:封装请求响应模式,同步转异步,以Request
,Response
为中心,扩展接口为Exchanger
,ExchangeChannel
,ExchangeClient
,ExchangeServer
transport 网络传输层:抽象 mina 和 netty 为统一接口,以Message
为中心,扩展接口为Channel
,Transporter
,Client
,Server
,Codec
serialize 数据序列化层:可复用的一些工具,扩展接口为Serialization
,ObjectInput
,ObjectOutput
,ThreadPool
dubbo设计原则:
采用 Microkernel + Plugin 模式,Microkernel 只负责组装 Plugin,Dubbo 自身的功能也是通过扩展点实现的,也就是 Dubbo 的所有功能点都可被用户自定义扩展所替换。采用 URL 作为配置信息的统一格式,所有扩展点都通过传递 URL 携带配置信息。dubbo注册中心 Multicast注册中心:Multicast 注册中心不需要启动任何中心节点,只要广播地址一样,就可以互相发现。 Zookeeper注册中心:Zookeeper是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用阿里内部并没有使用zookeeper注册中心。 Redis注册中心:阿里内部并没有使用Redis注册中心,而是使用的基于数据库的注册中心。使用 Redis 的 Key/Map 结构存储数据结构:主 Key 为服务名和类型Map 中的 Key 为 URL 地址Map 中的 Value 为过期时间,用于判断脏数据,脏数据由监控中心删除[3]使用 Redis 的 Publish/Subscribe 事件通知数据变更:通过事件的值区分事件类型:register
,unregister
,subscribe
,unsubscribe
普通消费者直接订阅指定服务提供者的 Key,只会收到指定服务的register
,unregister
事件监控中心通过psubscribe
功能订阅/dubbo/*
,会收到所有服务的所有变更事件 Simple注册中心:Simple 注册中心本身就是一个普通的 Dubbo 服务,可以减少第三方依赖,使整体通讯方式一致。到此,相信大家对“dubbo分层设计有哪些”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
本篇文章给大家分享的是有关如何进行容器Cgroups的使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Linux Cgroups(Linux Control Group)是 Linux 内核中用…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。