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

做网站的优势有哪些网站建设培训机构

做网站的优势有哪些,网站建设培训机构,海棠网站是什么意思,会所网站模板前提知识 Akka是一套可扩展、弹性和快速的系统,为此Flink基于Akka实现了一套内部的RPC通信框架;为此先对Akka进行了解 Akka Akka是使用Scala语言编写的库,基于Actor模型提供一个用于构建可扩展、弹性、快速响应的系统;并被应用…

前提知识

Akka是一套可扩展、弹性和快速的系统,为此Flink基于Akka实现了一套内部的RPC通信框架;为此先对Akka进行了解

Akka

Akka是使用Scala语言编写的库,基于Actor模型提供一个用于构建可扩展、弹性、快速响应的系统;并被应用到Flink中,基于Akka实现了集群组件之间的RPC通信框架

Actor模型

Actor模型是一个通用的并发编程模型,该模型独立维护隔离状态,基于消息传递实现异步通信,大致可以理解为三部分:

  • 邮箱:每个actor持有一个邮箱(mailbox),本质上是一个队列,用于存储消息。
  • 行为:每个actor可以发送消息至任何actor
  • 状态:每个actor可以通过处理消息来更新内部状态,对于外部而言,actor的状态是隔离的状态,避免了并发环境下的锁和内存原子性问题

Akka系统组成

Akka系统核心包括两个组件:ActorSystemActor(使用demo可以参考这里)

  • 只能通过ActorSystem.actorOfActorContext.actorOf创建Actor,不允许直接创建Actor
  • 只能通过ActorRef发送消息与Actor通信

Flink的RPC框架

Flink的RPC框架基于Akka实现,其中Flink集群中实现RPC通信节点功能主要有:DispacherResourceManagerTaskManagerTaskManager;这些节点分别继承了RpcEndPoint抽象类,并在实现类中初始化各自RpcServer(类似于Actor)来提供本地和远程代码请求;RpcServer的创建和启动都是由RpcService(主要实现AkkaRpcService,封装ActorSystem)来完成,此外一个RpcService可以创建多个RpcServer;详细的调用链路图如下所示

在这里插入图片描述

RpcEndPoint

RpcEndPoint代表RPC组件的端点,需要实现RPC通信的都需要实现RpcEndPoint,主要成员变量如下

在这里插入图片描述

  • rpcServer用于完成本地和远程调用能力

  • rpcService是的rpcService引用,rpcService可用于启动/关闭当前rpcServerrpcServer中封装了ActorRef

  • mainThreadExecutor封装了MainThreadExecutable接口(RpcServer接口继承了MainThreadExecutable),用于实现本地调用

  • endpointId用于唯一标识当前的RpcEndPoint

AkkaRpcService

AkkaRpcService负责创建启动Flink集群中RpcEndPoint组件的RpcServer,且AkkaRPCService在集群创建时就会启动完毕;UML类图如下所示

在这里插入图片描述

属性:

  • actorSystem是引用Akka的ActorSystem,可以用于启动、停止actor(启动、停止rpcServer
  • actors用于存储创建的RpcEndPoint的实现类(类中会封装actor

方法:

  • startServer()用于启动RpcServer,启动完成后这能对外提供服务
  • connect()用于连接远端RpcEndpoint,并返回调用方RpcGateway接口的代理类,获得调用外部的能力

RpcServer

RpcServer是一个接口类,该类实现类有AkkaInvocationHandlerFencedAkkaInvocationHandlerAkkaInvocationHandler中封装有ActorRef,并通过动态代理技术(InvocationHandler)实现远程和本地方法调用

在这里插入图片描述

RpcServerRpcGateWayMainThreadExecutableStartStoppable接口的方法,都会通过代理实现;方法中会查看调用方法实现类,来判断本地调用还是通过RefActor发送远程RPC调用

小结

Flink中每个需要使用RPC的组件都会实现RpcEndpoint,每个RpcEndpoin中都会包含两个属性RpcServiceRpcServer;其中RpcService封装了AkkaSystemRpcServer封装了ActorRef,最终通过动态代理技术实现方法的调用

参考资料:

书籍:Flink设计与实现

博客:https://cloud.tencent.com/developer/news/698662

http://www.yayakq.cn/news/798670/

相关文章:

  • 驾校网站建设方案怎么咨询自己的网络服务商
  • 浙江网站建设品牌升级怎么找到网站的空间服务商
  • 重庆涪陵网站设计公司推荐wordpress网站的彻底清理
  • 兼积做调查挣钱网站专门做兼职的网站
  • 58同城石家庄网站建设高水平网站运营托管
  • 谷歌优化 网站建设建动画网站需要多少钱
  • 大连企业网站建设模板建设网站德州
  • 建设交通职业技术学院招聘信息网站oss做下载网站
  • 关于做我女朋友的网站wordpress 无广告视频
  • 便宜网站建设哪家好wordpress怎么引用图片不显示
  • 做网站用盗版PS风险地区查询最新
  • 中国知名的建网站的公司快速将网站seo
  • 合肥专业网站制作团队软件开发报什么专业
  • 不收费的企业查询网站邢台123信息最新招聘信息
  • 专业做网站 郑州福田公司投诉电话
  • 网站的运营模式做pc网站如何实时预览
  • php网站开发工程师任职要求怎么在网站文本框内做超连接
  • dw制作简单网站模板免费域名的网站
  • 山东省城乡建设网站电影网站这么做关键词
  • 手机网站推广可信赖的网站建设公司
  • 营销型企业网站的建设步骤深圳龙华企业网站设计
  • 做设计比较好的网站推荐中国城乡建设厅网站首页
  • 如何做贷款网站推广淮南做网站的
  • 仓山区建设局招标网站wordpress title设置
  • 建站行业的利润眼科医院网站做竞价带来的询盘量
  • 仿织梦小说网站源码建站最少需要多少钱
  • 郑州专业网站优化html 如何嵌入网站页面
  • 免费外贸网站源码四川住房与城乡城乡建设厅网站
  • 网站怎么做英语和中文的西双版纳傣族自治州官网
  • 网站服务器容器it外包公司上海