AKKA 的基本介绍 | 学习笔记

简介: 快速学习 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 模型是一种处理并发问题的解决方案。

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
6月前
|
并行计算 Scala
175 Scala 项目案例(Akka简介)
175 Scala 项目案例(Akka简介)
55 0
|
6月前
177 Akka详细学习资料
177 Akka详细学习资料
31 0
|
3月前
|
Java Unix Linux
【Netty技术专题】「原理分析系列」Netty强大特性之Native transports扩展开发实战
当涉及到网络通信和高性能的Java应用程序时,Netty是一个强大的框架。它提供了许多功能和组件,其中之一是JNI传输。JNI传输是Netty的一个特性,它为特定平台提供了高效的网络传输。 在本文中,我们将深入探讨Netty提供的特定平台的JNI传输功能,分析其优势和适用场景。我们将介绍每个特定平台的JNI传输,并讨论其性能、可靠性和可扩展性。通过了解这些特定平台的JNI传输,您将能够更好地选择和配置适合您应用程序需求的网络传输方式,以实现最佳的性能和可靠性。
60 7
【Netty技术专题】「原理分析系列」Netty强大特性之Native transports扩展开发实战
|
XML Dubbo 网络协议
Dubbo学习笔记(一)基本概念与简单使用
Dubbo学习笔记(一)基本概念与简单使用
Dubbo学习笔记(一)基本概念与简单使用
|
运维 网络协议 安全
Akka 网络编程基础 | 学习笔记
快速学习 Akka 网络编程基础
200 0
Akka 网络编程基础 | 学习笔记
|
弹性计算 分布式计算 安全
E-Mapreduce 基本介绍|学习笔记
快速学习 E-Mapreduce 基本介绍
172 0
E-Mapreduce 基本介绍|学习笔记
|
Dubbo 程序员 应用服务中间件
RPC 简介|学习笔记
快速学习 RPC 简介
133 0
RPC 简介|学习笔记
|
编解码
Thrift原理分析(一) 基本概念
Thrift原理分析(一) 基本概念
2429 0
|
Java API Scala
Akka源码分析-ActorSystem
  由于本人对Akka比较感兴趣,也用Akka开发了一些系统,但对Akka的源码还没有具体分析过,希望研究源码的同时写一点博客跟大家分享。有不当之处还请指正。我准备采取Debug的方式来研究Akka的运行过程,从入口开始,直至分析Akka是如何运转的。
2260 0
|
Web App开发 分布式计算 Spark
附录B Akka简介
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/beliefer/article/details/77449909 注:本文是为了配合《Spark内核设计的艺术 架构设计与实现》一书的内容而编写,目的是为了节省成本、方便读者查阅。
1330 0