【项目实战】分布式计算和通信框架(AKKA)入门介绍

这篇具有很好参考价值的文章主要介绍了【项目实战】分布式计算和通信框架(AKKA)入门介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、AKKA是什么?

Akka是一个用于构建高并发、分布式、可容错、事件驱动的应用程序的工具包和运行时。它基于Actor模型,提供了一种高效的并发编程模型,可以轻松地编写出高并发、分布式、可容错的应用程序。Akka还提供了一些常用的组件,如路由、集群、持久化等,可以帮助开发人员更加方便地构建分布式应用程序。

  • 一个开发库和运行环境,可以用于构建高并发、分布式、可容错、事件驱动的基于JVM的应用
  • 使构建高并发的分布式应用更加容易。
  • 虽然它由scala编写的,但也同时提供java api接口,所以使用java一样可以使用akka。
  • 对并发模型进行了更高的抽象
  • 是异步、非阻塞、高性能的事件驱动编程模型
  • 是轻量级事件处理(1GB内存可容纳百万级别个Actor)
  • 它提供了一种称为Actor的并发模型,其粒度比线程更小,你可以在系统中启用大量的Actor。
  • 它提供了一套容错机制,允许在Actor出现异常时,进行一些恢复或重置操作。
  • Akka既可以在单机上构建高并发程序,也可以在网络中构建分布式程序,并提供位置透明的Actor定位服务。

二、AKKA能做什么?

当前大数据领域火热的框架底层的分布式计算和通信实现都是Akka

一些使用Akka作为底层框架的知名项目包括:

  • Apache Spark:一个用于大规模数据处理的分布式计算框架,使用Akka作为其底层通信框架。
  • Apache Flink:也使用了Akka作为其底层通信框架。
  • Lagom:一个基于Akka和Play框架构建的微服务框架。
  • Akka HTTP:一个基于Akka构建的高性能HTTP服务器和客户端框架。
  • Alpakka:一个基于Akka Streams构建的数据集成框架,用于处理异步、非阻塞的数据流。

三、AKKA有什么?技术去支撑它呢?

  • Akka处理并发的方法基于Actor模型,Actor之间通信的唯一机制就是消息传递。
  • Actor的基础就是消息传递。

akka,009 -大数据、 AI人工智能、AR&VR,003 - 中间件,java,大数据,spring
Actor由状态(state)、行为(Behavior)和邮箱(mailBox)三部分组成
【1】状态(state):Actor中的状态指的是Actor对象的变量信息,状态由Actor自己管理,避免了并发环境下的锁和内存原子性等问题
【2】行为(Behavior):行为指定的是Actor中计算逻辑,通过Actor接收到消息来改变Actor的状态
【3】邮箱(mailBox):邮箱是Actor和Actor之间的通信桥梁,邮箱内部通过FIFO消息队列来存储发送方Actor消息,接受方Actor从邮箱队列中获取消息

3.1 Actor模型介绍

Actor模型是一种并发编程模型,它将计算机系统中的并发实体抽象为Actor,每个Actor都是一个独立的计算单元,它们之间通过消息传递进行通信。Actor之间的通信是异步的,无需共享内存,因此可以避免共享内存带来的并发问题。Actor模型可以轻松地编写出高并发、分布式、可容错的应用程序,因此被广泛应用于分布式系统和并发编程领域。

3.2 Actor模型的特点

  1. 每个Actor都是一个独立的计算单元,它们之间通过消息传递进行通信,因此可以避免共享内存带来的并发问题。
  2. Actor之间的通信是异步的,无需共享内存,因此可以避免共享内存带来的并发问题。
  3. Actor模型可以轻松地编写出高并发、分布式、可容错的应用程序,因此被广泛应用于分布式系统和并发编程领域。

3.3 Actor模型的优点

  1. 可以避免共享内存带来的并发问题。
  2. 可以轻松地编写出高并发、分布式、可容错的应用程序。
  3. 可以提高系统的可伸缩性和可靠性。

3.4 Actor模型的缺点

  1. 消息传递的开销比共享内存大。
  2. Actor之间的通信是异步的,因此可能会导致消息的顺序不确定。
  3. Actor模型需要开发人员具备一定的并发编程经验和技能。

四、Akka的五大特性

  • 易于构建并行和分布式应用 (Simple Concurrency & Distribution)
    Akka在设计时采用了异步通讯和分布式架构,并对上层进行抽象,如Actors、Futures ,STM等。

  • 可靠性(Resilient by Design)
    系统具备自愈能力,在本地/远程都有监护。

  • 高性能(High Performance)
    在单机中每秒可发送50000000个消息。
    内存占用小,1GB内存中可保存2500000个actors。

  • 弹性,无中心(Elastic — Decentralized)
    自适应的负责均衡,路由,分区,配置

  • 可扩展(Extensible)
    可以使用Akka 扩展包进行扩展。文章来源地址https://www.toymoban.com/news/detail-720665.html

到了这里,关于【项目实战】分布式计算和通信框架(AKKA)入门介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式计算框架:Spark、Dask、Ray 分布式计算哪家强:Spark、Dask、Ray

    目录 什么是分布式计算 分布式计算哪家强:Spark、Dask、Ray 2 选择正确的框架 2.1 Spark 2.2 Dask 2.3 Ray 分布式计算是一种计算方法,和集中式计算是相对的。 随着计算技术的发展, 有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成

    2024年02月11日
    浏览(41)
  • RPC分布式网络通信框架(三)—— 服务配置中心Zookeeper模块

    分布式系统存在的问题: 为了支持高并发,每个客户端都保存了一份服务提供者的 列表 。但是如果 列表 有更新,想要得到最新的URL列表(rpc服务的ip和端口号),必须要手动更新配置文件,很不方便。 如图所示,实例3挂掉了,但是 列表 并没有得到更新。 故需要动态的更

    2024年02月15日
    浏览(37)
  • 分布式计算框架Hadoop核心组件

    Hadoop作为成熟的分布式计算框架在大数据生态领域已经使用多年,本文简要介绍Hadoop的核心组件MapReduce、YARN和HDFS,以加深了解。 1、Hadoop基本介绍 Hadoop是分布式计算框架,主要解决海量数据的存储和计算问题。Hadoop主要组件包括分布式文件系统HDFS、分布式离线并行计算框架

    2024年02月06日
    浏览(32)
  • SpringCloud入门实战(十五)分布式事务框架Seata简介

    📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术,都可以先去官网先看看,更准确、更专业。 💐学习建议:2、然后记住每个技术最关键的特性(通常一句话或者

    2024年02月10日
    浏览(31)
  • 分布式计算框架:Spark、Dask、Ray

    目录 什么是分布式计算 分布式计算哪家强:Spark、Dask、Ray 2 选择正确的框架 2.1 Spark 2.2 Dask 2.3 Ray 分布式计算是一种计算方法,和集中式计算是相对的。 随着计算技术的发展, 有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成

    2024年02月06日
    浏览(31)
  • 太强了!全新一代分布式任务调度与计算框架!

    大家好,我是 Java陈序员 。 我们在工作开发中,离不开任务调度。通过指定的间隔时间执行各类操作,来完成无需用户操作的任务。 目前市场上,有一些编程语言本身自带的定时任务工具,如 Java 中 Timer。也有一些比较成熟的定时任务框架,如 Quartz。现在大部分系统都是使

    2024年02月03日
    浏览(32)
  • ray-分布式计算框架-集群与异步Job管理

    0. ray 简介 ray是开源分布式计算框架,为并行处理提供计算层,用于扩展AI与Python应用程序,是ML工作负载统一工具包 Ray AI Runtime ML应用程序库集 Ray Core 通用分布式计算库 Task -- Ray允许任意Python函数在单独的Python worker上运行,这些异步Python函数称为任务 Actor -- 从函数扩展到类

    2023年04月25日
    浏览(22)
  • 云计算实验2 Spark分布式内存计算框架配置及编程案例

    掌握分布式多节点计算平台Spark配置,Spark编程环境IDEA配置,示例程序启动与运行 Linux的虚拟机环境、线上操作视频和实验指导手册 完成Spark开发环境安装、熟悉基本功能和编程方法。 请按照线上操作视频和实验指导手册 ,完成以下实验内容: 实验2-1 Spark安装部署:Standal

    2023年04月13日
    浏览(36)
  • 【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述

    第一章 说明 整个Spark 框架分为如下7个部分,总的来说分为Spark 基础环境、Spark 离线分析和Spark实时分析三个大的方面,如下图所示: 第一方面、Spark 基础环境 主要讲述Spark框架安装部署及开发运行,如何在本地模式和集群模式运行,使用spark-shell及IDEA开发应用程序,测试及

    2024年02月11日
    浏览(41)
  • 分布式项目14 使用dubbo进行系统之间的通信,不用jsonp

    使用jsonp技术,前端的ajax需要把方法的datatype写成jsonp,并且在controller类中返回值类型是jsonPObject,这个是特有的java的api,用于jsonp技术。 分布式项目可以使用dubbo框架。 第一步:导入dubbo依赖 第二步: 编辑服务provider,在公共模块创建dubbo接口 在jt-common中创建: 第三步:在

    2024年02月08日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包