当前位置: 首页 > news >正文

珠海免费模板建站进入官方网站

珠海免费模板建站,进入官方网站,wordpress 登陆后访问,西宁做网站建设公司哪家好dubbo核心组件 层次名 作 用 Service 业务层。包括业务代码的接口与实现#xff0c;即开发者实现的业务代码 config 配置层。主要围绕ServiceConfig #xff08;暴露的服务配置#xff09;和ReferenceConfig #xff08;引用的服务配置#xff09;两个实现类展开#xf…dubbo核心组件 层次名 作 用 Service 业务层。包括业务代码的接口与实现即开发者实现的业务代码 config 配置层。主要围绕ServiceConfig 暴露的服务配置和ReferenceConfig 引用的服务配置两个实现类展开初始化配置信息。可以理解为该层管理了整个Dubbo的配置 proxy 服务代理层。在Dubbo中无论生产者还是消费者框架都会生成一个代理类整个过程对上层是透明的。当调用一个远程接口时看起来就像是调用了一个本地的接口一样 代理层会自动做远程调用并返回结果即让业务层对远程调用完全无感 registry 注册层。负责Dubbo框架的服务注册与发现。当有新的服务加入或旧服务下线时注册中心都会感知并通知给所有订阅方。整个过程不需要人工参与 cluster 集群容错层。该层主要负责远程调用失败时的容错策略如失败重试、快速失败 选择具体调用节点时的负载均衡策略如随机、一致性Hash等特殊调用路径的路由 策略如某个消费者只会调用某个IP的生产者 monitor 监控层。这一层主要负责监控统计调用次数和调用时间等 protocol 远程调用层。封装RPC调用具体过程Protocol是Invoker暴露发布一个服务让别人 可以调用和引用引用一个远程服务到本地的主功能入口它负责管理Invoker的 整个生命周期。Invoker是Dubbo的核心模型框架中所有其他模型都向它靠拢或者 转换成它它代表一个可执行体。允许向它发起invoke调用它可能是执行一个本地的 接口实现也可能是一个远程的实现还可能一个集群实现 exchange 信息交换层。建立Request-Response模型封装请求响应模式如把同步请求转化为异步请求 transport 网络传输层。把网络传输抽象为统一的接口如Mina和Netty虽然接口不一样但是Dubbo在它们上面又封装了统一的接口。用户也可以根据其扩展接口添加更多的网络传 输方式 Serialize 序列化层。如果数据要通过网络进行发送则需要先做序列化变成二进制流。序列化层负责管理整个框架网络传输时的序列化/反序列化工作 服务暴露 注册中心 动态加入。一个服务提供者通过注册中心可以动态地把自己暴露给其他消费者无须消费者逐个去更新配置文件。 动态发现。一个消费者可以动态地感知新的配置、路由规则和新的服务提供者无须重启服务使之生效。 动态调整。注册中心支持参数的动态调整新参数自动更新到所有相关服务节点。 统一配置。避免了本地配置导致每个服务的配置不一致问题。 注册中心的四种实现ZooKeeper、 Redis 、 Simple 、Multicast ZooKeeper是官方推荐的注册中心在生产环境中有过实际使用具体的实现在Dubbo 源码的dubbo-registry-zookeeper模块中。 Redis 注册中心并没有经过长时间运行的可靠性验证其稳定性依赖于Redis本身。 Simple注册中心 是一个简单的基于内存的注册中心实现它本身就是一个标准的RPC服务不支持集群也可 能出现单点故障。 Multicast模式则不需要启动任何注册中心只要通过广播地址就可以互相 发现。服务提供者启动时会广播自己的地址。消费者启动时会广播订阅请求服务提供者 收到订阅请求会根据配置广播或单播给订阅者。不建议在生产环境使用。 zookeeper 是树形结构的注册中心每个节点的类型分为持久节点、持久顺序节点、临时节点和临时顺序节点。 持久节点服务注册后保证节点不会丢失注册中心重启也会存在。 持久顺序节点在持久节点特性的基础上增加了节点先后顺序的能力。 临时节点服务注册后连接丢失或session超时注册的节点会自动被移除。 临时顺序节点在临时节点特性的基础上增加了节点先后顺序的能力。 /dubbo ±- service ±- providers ±- consumers ±- routers ±- configurators 1树的根节点是注册中心分组下面有多个服务接口分组值来自用户配置 dubbo:registry中的 group 属性默认是/dubbo。 (2) 服务接口下包含4类子目录分别是providers、consumers、 routers、 configurators,这个路径是持久节点。 (3) 服务提供者目录(/dubbo/service/providers)下有多个服务者URL元数据信息。 (4) 服务消费者目录(/dubbo/service/consumers)下有多个消费者元数据信息。 (5) 路由配置目录(/dubbo/service/routers)下面包含多个用于消费者路由URL策略元数据信息。 (6) 动态配置目录(/dubbo/service/configurators)下面包含多个用于服务者动态配置URL元数据信息。 配置中心的订阅/发布 订阅通常有pull和push两种方式一种是客户端定时轮询注册中心拉取配置另一种是注册中心主动推送数据给客户端。这两种方式各有利弊Dubbo采用的是第一次启动拉取方 式后续接收事件重新拉取数据。 在服务暴露时服务端会订阅configurators用于监听动态配置在消费端启动时消费端会订阅providers、routers和configuratops这三个目录分别对应服务提供者、路由和动 态配置变更通知。 ZooKeeper注册中心采用的是“事件通知” “客户端拉取”的方式客户端在第一次连接上注册中心时会获取对应目录下全量的数据。并在订阅的节点上注册一个watcher,客户端与 注册中心之间保持TCP长连接后续每个节点有任何数据变化的时候注册中心会根据watcher的回调主动通知客户端事件通知客户端接到通知后会把对应节点下的全量数据都拉取过 来客户端拉取这一点在NotifyListener#notify List urls 接口上就有约束的注释说明。全量拉取有一个局限当微服务节点较多时会对网络造成很大的压力。 注册中心的缓存在类AbstractRegistry中实现 private final Properties properties new Properties(); private File file;//磁盘文件服务缓存对象 private final ConcurrentMap Map notified new ConcurrentHashMap List(); //内存中的服务缓存对象 notified是ConcurrentHashMap里面又嵌套了一个Map,外层Map的key是消费者的 URL,内层 Map 的 key 是分类包含 providers、 consumers、 routes、 configurators 四种。value则是对应的服务列表对于没有服务提供者提供服务的URL,它会以特殊的empty://前缀开头 在服务初始化的时候AbstractRegistry构造函数里会从本地磁盘文件中把持久化的注册数据读到Properties对象里并加载到内存缓存中 Properties保存了所有服务提供者的URL,使用URL#serviceKey()作为key,提供者列表、 路由规则列表、配置规则列表等作为value。由于value是列表当存在多个的时候使用空格隔 开。还有一个特殊的key.registies,保存所有的注册中心的地址。如果应用在启动过程中注册中心无法连接或宕机则Dubbo框架会自动通过本地缓存加载Invokers。 首先在客户端启动时会从注册中心拉取和订阅对应的服务列表Cluster会把拉取的服务列 表聚合成一个Invoker,每次RPC调用前会通过Directory#list获取providers地址已经生成 好的Invoker列表获取这些服务列表给后续路由和负载均衡使用。对应图6.1,在①中主要 是将多个服务提供者做聚合。在框架内部另外一个实现Directory接口是RegistryDirectory 类它和接口名是一对一的关系每一个接口都有一个RegistryDirectory实例主要负责拉取 和订阅服务提供者、动态配置和路由项。 dubbo发起服务调用在客户端经过负载均衡选择一台机器进行RPC调用。 Dubbo协议详解 一次RPC调用包括协议头和协议体两部分。 16字节长的报文头部主要携带了魔法数(0xdabb),以及当前请求报文是否是Request、Response 心跳和事件的信息请求时也会携 带当前报文体内序列化协议编号。除此之外报文头部还携带了请求状态以及请求唯一标识和报文体长度。 魔法数来分割处理粘包问题 Dubbo中的编码器123主要将Java对象编码成字节流返回给客户端主要做两部分事情构造报文头部然后对消息体进行序列化处理。所有编解码层实现都应该继承自Exchangecodec, Dubbo协议编码器也不例外。当Dubbo协议编码请求对象时会调用ExchangeCodec#encode方法。
http://www.sczhlp.com/news/261147/

相关文章:

  • 龙岗网站设计代理商摄影网页设计案例
  • 网站建设做得好网页设计师个人简历
  • 东莞如何建网站费用电子拜年贺卡在线制作网站
  • 建设监理收录网站聊城哪有做网站的
  • 外贸做零售的网站简述dw网站开发流程
  • 设计网站公司 都赞湖南岚鸿案例10建设网站哪个公司好
  • 手机 网站 开发临近做网站
  • 如何在ftp给网站做百度自动推送做论坛app网站有哪些
  • 什么学习网站建设招远做网站联系电话
  • 免费建各种网站小型网站制作
  • 网站建设进展推进表网站快速建设软件下载
  • 微网站服务器用什么软件开发手机app
  • 韩国优秀网站欣赏wordpress主题怎么写
  • 网站域名如何更换益阳建设网站
  • 个人学做网站大气简约企业网站模板免费下载
  • 网站编程代码营销型网站建设对比分析
  • 住房建设部官方网站格尔木市建设局网站
  • 网站建设规划书范文wordpress每页显示文章
  • 计算天数
  • AE学习
  • [OLAP] 技术选型对比:Clickhouse vs Doris
  • 做3dh春丽网站叫什么电子贺卡免费制作
  • 网站建设的功能有哪些内容利州区住房和城乡建设部网站
  • 南京做网站南京乐识最优去了哪找网站建设公司
  • 化妆品网站开发背景做推广哪个网站最热门
  • 厦门服装商城网站建设怎么组建企业网站
  • 家居网站建设基本流程中国铁路建设行业协会网站
  • 网站图片怎样做seo优化在哪个网站上找国外客户做外贸
  • 做网站好的网站建设公司排名关于营销策划的方案
  • 力杨网站建设截获网站流量怎么做