AKKA 的基本介绍 | 学习笔记

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
网络型负载均衡 NLB,每月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 模型是一种处理并发问题的解决方案。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
并行计算 Scala
175 Scala 项目案例(Akka简介)
175 Scala 项目案例(Akka简介)
105 0
177 Akka详细学习资料
177 Akka详细学习资料
50 0
|
XML Dubbo 网络协议
Dubbo学习笔记(一)基本概念与简单使用
Dubbo学习笔记(一)基本概念与简单使用
Dubbo学习笔记(一)基本概念与简单使用
|
运维 网络协议 安全
Akka 网络编程基础 | 学习笔记
快速学习 Akka 网络编程基础
Akka 网络编程基础 | 学习笔记
|
弹性计算 分布式计算 安全
E-Mapreduce 基本介绍|学习笔记
快速学习 E-Mapreduce 基本介绍
E-Mapreduce 基本介绍|学习笔记
|
消息中间件 存储 负载均衡
无事来学学--Kafka基本介绍(二)
副本(replication)策略 Kafka的高可靠性的保障来源于其健壮的副本(replication)策略。
116 0
|
消息中间件 存储 Java
无事来学学--Kafka的基本介绍(一)
Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目,Java核心学习笔记分享。
139 0
|
消息中间件 分布式计算 Java
一文搞懂Kafka核心基础知识
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。Kafka 官网的下载地址是 https://kafka.apache.org/downloads ;打开下载页面后我们可以看 到不同版本的
|
编解码
Thrift原理分析(一) 基本概念
Thrift原理分析(一) 基本概念
2496 0
|
Java API Scala
Akka源码分析-ActorSystem
  由于本人对Akka比较感兴趣,也用Akka开发了一些系统,但对Akka的源码还没有具体分析过,希望研究源码的同时写一点博客跟大家分享。有不当之处还请指正。我准备采取Debug的方式来研究Akka的运行过程,从入口开始,直至分析Akka是如何运转的。
2313 0