AKKA 的基本介绍 | 学习笔记

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 快速学习 AKKA 的基本介绍

开发者学堂课程【Scala 核心编程 - 进阶AKKA 的基本介绍学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9112


AKKA 的基本介绍


内容介绍:

一、Akka 介绍

二、AKKA 的 Actor 模型


一、Akka 介绍

Akka 是一种并发的编程模型,为后续提供了 scala 和 JAVA 的连接。

(1)Akka 是 JAVA 虚拟机 jvm 平台上构建高并发、分布式、和容错应用的工具包和运行时。

简单理解为Akka是编写并发程序的框架

(2)Akka 用 scala 语音写成,同时提供了 scala 和 JAVA 的开发接口。

(3)AKKA 主要解决的问题是:

可以轻松的写出搞笑稳定,并发程序,程序员不再过多的考虑线程、锁和资源竞争等细节。

往往作为沉浸式的服务器结构,是撑不住实际的需求

传统的服务器结构:多个客户端连接至一个服务器,服务器支撑不住

多数情况下,提供一个负载均衡,有软件或者硬件的类别

而后台存在都各服务器,负载均衡可以将任务分散至多个服务器进行,缓解压力,一个负载均衡下可再配置下属负载均衡

操作模式如下图:

image.jpeg

如果使用 Akka 则可以针对上述问题进行简化操作,包括网络通讯等。


二、AKKA 的 Actor 模型

Actor 模型可以作为 AKKA 的核心程序

(1)处理并发问题关键是要保证共享数据的一致性和正确性,因为程序是多线程的,多个线程对同一数据进行修改,若不加同步条件,势必会造成数据污染。

但是当我们对关键代码加入同步条件 sync hronized 后,实际上大并发就会堵塞在这段代码,对程序效率有很大影响。

通过 JAVA 代码演示和测试,通过票的模拟情况进行演示

新建章节

Public class test{

Calss  Ticket{

Public void saletick et(){

//代码

//卖票this

(互斥)不能同时多个线程在线,所以存在互斥问题

//代码

此时存在多线程在线换言之对数据效率有很大影响,Actor 模型的出现解决了这个问题,此时 AKKA 可以简化并发编程

(2)若用单线程处理,不会有数据一致性问题,但系统性能有不能保证

(3)Actor 模型的出现解决了这个问题,简化并发编程,提升程序性能。

可以这样理解:actor 模型是一种处理并发问题的解决方案。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
安全 jenkins 持续交付
Jenkins设置视图权限
Jenkins设置视图权限
|
消息中间件 安全 网络协议
Akka事件驱动新选择
在高并发场景解决方案中,多从线程角度出发,以解决线程安全问题,锁范围又需要多业务场景考虑,何时上锁,何时解锁,何时自动过期等,而事件驱动是从执行什么操作驱动的,在软件系统的设计层面,两者关联性不大,一个强调安全,一个强调策略,那么有没有两者结合解决并发编程难的事件驱动解决方案呢?带着场景解决方案我们走进Akka。
541 0
Akka事件驱动新选择
|
Oracle Java 关系型数据库
idea配置jdk、淘宝镜像
idea配置jdk、淘宝镜像
1103 0
idea配置jdk、淘宝镜像
|
存储 消息中间件 安全
计算与存储分离实践—swift消息系统
swift是搜索事业部自主研发分布式消息系统,它的主要存储基于分布式文件系统,资源需求基于分布式调度系统。swift能支持每秒数亿的消息传递,支持PB级消息的存储。
6641 0
|
存储 分布式计算 流计算
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
本文介绍了阿里云开源大数据团队在实时计算领域的最新成果——向量化流计算引擎Flash。文章主要内容包括:Apache Flink 成为业界流计算标准、Flash 核心技术解读、性能测试数据以及在阿里巴巴集团的落地效果。Flash 是一款完全兼容 Apache Flink 的新一代流计算引擎,通过向量化技术和 C++ 实现,大幅提升了性能和成本效益。
3537 73
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
|
Kubernetes Nacos 数据库
k8s快速部署nacos单机版
k8s快速部署nacos单机版
|
监控 数据挖掘 数据安全/隐私保护
ERP系统中的成本核算与分析
【7月更文挑战第25天】 ERP系统中的成本核算与分析
1086 2
|
分布式计算 Hadoop Serverless
数据处理的艺术:EMR Serverless Spark实践及应用体验
阿里云EMR Serverless Spark是基于Spark的全托管大数据处理平台,融合云原生弹性与自动化,提供任务全生命周期管理,让数据工程师专注数据分析。它内置高性能Fusion Engine,性能比开源Spark提升200%,并有成本优化的Celeborn服务。支持计算存储分离、OSS-HDFS兼容、DLF元数据管理,实现一站式的开发体验和Serverless资源管理。适用于数据报表、科学项目等场景,简化开发与运维流程。用户可通过阿里云控制台快速配置和体验EMR Serverless Spark服务。
|
SQL JSON 分布式计算
ODPS SQL ——列转行、行转列这回让我玩明白了!
本文详细介绍了在MaxCompute中如何使用TRANS_ARRAY和LATERAL VIEW EXPLODE函数来实现列转行的功能。
|
Oracle Java Serverless
JVM工作原理与实战(三十六):GraalVM虚拟机
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了GraalVM、GraalVM的两种运行模式、GraalVM应用场景、参数优化和故障诊断等内容。
3153 1

热门文章

最新文章