akka概述

概述

并发分布式框架:作者号称可以在jvm用来构建高并发,分布式,消息驱动式的程序。依据当前我使用的范围还只局限于并发与任务调度的使用层面上, 在这两方面的表现还是很令我满意的。

当前自己所熟悉的互联网开发模式有

------------------------------------------------------------

借组于队列,异步处理问题,处理不需要及时作出响应的任务

使用缓存,减少对常用数据的查询

使用内存数据库 加快查询某些需要快速查询响应的速度

数据库,主从模式,读写分离,分库分表

并发处理任务

------------------------------------------------------------

akka 框架可以用到的应用场景就是在队列和并发任务的处理上以及分布式应用

akka官网:http://akka.io

特点

  • 简单--实现actor模型,不需要关心lock,thread,io等,你只需要把精力集中在消息在你系统中得流动过程
  • 稳定--号称一年只有3s的宕机时间
  • 高性能--号称 50 million msg/sec on a single machine. Small memory footprint; ~2.5 million actors per GB of heap
  • 容错性--不保证所有的消息都被正确的发送与处理

消息驱动

所谓的消息驱动就是:actor表现的行为是和接收到消息内容有关,反过来我们可以这样理解,是消息在驱动actor的表现行为,这是我个人的理解,以这种理解来观看我们整个系统的运行 我们要做某件事情,那我们只需要给某个actor发送一个消息,actor就会明白我们要做什么事,然后这个actor可能还需要其它actor的配合,这样就会在actor之间形成消息的流动。所以就有了像上面 说的那样,在你构建并发系统时,你不在关心lock,关心thread等很麻烦有低级的这些原语。

actor 模型

可以把actor模型想象是一群人,每个actor代表一个人。如果利用actor来解决问题进行建模时,你需要的就是怎么组织这么多人(actor)完成一个任务, 比如创立一个学校,你得有校长和老师,老师又要分为语文数学音乐老师等。利用actor来建模时,也就是这样,有的actor要充当校长,管理这些教师,有的actor要 充当教师的角色,做好自己的责任。

时间: 2024-10-10 10:50:58

akka概述的相关文章

AKKA文档(java版)

目前我正在翻译AKKA官网文档.翻译:吴京润 译者注:本人正在翻译AKKA官网文档,本篇是文档第一章,欢迎有兴趣的同学加入一起翻译.更多内容请读这里:https://tower.im/projects/ac49db18a6a24ae4b340a5fa22d930dc/lists/ded96c34f7ce4a6bb8b5473f596e1008/show/https://tower.im/projects/ac49db18a6a24ae4b340a5fa22d930dc/todos/640e53d

spark 概述与安装

概述 spark 是一个快速的通用集群计算系统.它提供了丰富的高水平的api供java,scala和python调用. 安装 到官网下载最新版本spark-1.3.1 http://spark.apache.org/downloads.html,这里以这个版本的安装为列,下载后解压,进入到软件根目录,它有两种安装方式,一种通过mvn,另一种通过sbt,两种区别不到,以mvn安装为列说明,执行下面命令 build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2

Scala笔记整理(九):Actor和AKKA

[TOC] 概述 ? Scala的Actor有点类似于Java中的多线程编程.但是不同的是,Scala的Actor提供的模型与多线程有所不同.Scala的Actor尽可能地避免锁和共享状态,从而避免多线程并发时出现资源争用的情况,进而提升多线程编程的性能. Spark中使用的分布式多线程框架,是Akka,是Scala的一种多线程的类库.Akka也实现了类似Scala Actor的模型,其核心概念同样也是Actor.Scala Actor模型已经在2.1.0的时候还在用,但是在2.1.1的时候已经

大数据技术之_16_Scala学习_11_客户信息管理系统+并发编程模型 Akka+Akka 网络编程-小黄鸡客服案例+Akka 网络编程-Spark Master Worker 进程通讯项目

第十五章 客户信息管理系统15.1 项目的开发流程15.2 项目的需求分析15.3 项目的界面15.4 项目的设计-程序框架图15.5 项目的功能实现15.5.1 完成 Customer 类15.5.2 完成显示主菜单和退出软件功能15.5.3 完成显示客户列表的功能15.5.4 完成添加客户的功能15.5.5 完成删除客户的功能15.5.6 完善退出确认功能15.5.7 完善删除确认功能15.5.8 完成修改客户的功能第十六章 并发编程模型 Akka16.1 Akka 的介绍16.2 Acto

Java从0到全栈-Java语言概述与开发环境搭建

Java从0到全栈-Java语言概述与开发环境搭建 Java从0到全栈 Java语言概述 Java发展历史 Java之父-James Golsing 起源 1991年,SUN(Standford University Network)公司的James Golsing领导的工程师小组想要开发一种用于像电视机.微波炉.电话这样的消费类电子产品的小型计算机语言,该产品的特点是由于不同的厂商选择不同的CPU和操作系统,因此要求该语言不能和特定的体系结构绑定在一起,也就是跨平台的.最初将这个语言命名为Oa

第一课 MongoDB 概述与安装

1.课程大纲 本次课主要介绍 MongoDB 背景知识和 MongoDB 的安装与配置,让大家对 MongoDB 有一个初认识. 其基本的知识点包含: NoSQL数据库概述 MongoDB 数据库简单介绍 Linux 下安装 MongoDB 数据库 Mac 和 Windows 下安装 MongoDB 数据库 2.课程简单介绍 MongoDB是由MongoDB.inc研发的一款NoSQL类型的文档型数据库,MonogoDB名字来源于英文单词humongous,这个单词的意思是巨大无比.暗喻Mong

java面向对象:面向对象的思想和概述

1:面向对象思想 面向对象是基于面向过程的编程思想. 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能 2:面向对象的思想特点 A:是一种更符合我们思想习惯的思想 B:可以将复杂的事情简单化 C:将我们从执行者变成了指挥者 开发,设计,特征 面向对象开发 就是不断的创建对象,使用对象,指挥对象做事情. 面向对象设计 其实就是在管理和维护对象之间的关系. 面向对象特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism

java基础总结——概述

  一.java语言概述 来自维基百科 https://zh.wikipedia.org/wiki/Java Java是一种计算机编程语言,拥有跨平台.面向对象.泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发. 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机.电话.闹钟.烤面包机等家用电器的控制和通信.由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划.随着1990

译-BMC Remedy Action Request System权限控制概述

原文链接:Access control overview 说明: BMC Remedy Action Request System是BMC ITSM产品平台,简称AR 或者Remedy,可实现基于ITIL标准的整个IT管理流程的实施定制.该平台可实现多种权限级别的管理,包括人员.组.角色,以及表.字段.行级别等.本文可以用作其他对权限要求比较精细的系统参考. 为了便于理解,部分名词翻译如下: Server:服务器Form (or table):表单Field (or column):字段Acti