Akka学习过程的疑问

- actor要如何分解才合适,在一个JVM上随意为每个功能启动多个actor?那远程actor一般作为其中的一个功能还是服务?

- actor和线程的关系

actor数和线程数不是一一对应的。2.7 million actors占1GB内存. 而1GB内存只能运行4096个线程.奥秘在于Actor直接可以复用线程。Actor和线程是不同的抽象,他们的对应关系是由Dispatcher决定的。一个Actor可以使用多个线程,一个线程也会被多个Actor复用。

- akka的scale up和scale out

不用修改一行代码,就可以让我们的程序scale up和scale out

- 设计一套系统的架构应该如何?

1.为每层设置一个supervisor,并转发给child? child负责对应的任务

3.貌似spark只用akka做通信,使用3个actor进行远程通信: client,master,worker.

其中worker会动态取spawn新的线程去处理任务。(为什么不使用actor ?任务繁重不能交给actor?)http://www.cnblogs.com/hseagle/p/3673147.html

时间: 2025-01-24 14:27:51

Akka学习过程的疑问的相关文章

深入JVM剖析Java的线程堆栈_java

在这篇文章里我将教会你如何分析JVM的线程堆栈以及如何从堆栈信息中找出问题的根因.在我看来线程堆栈分析技术是Java EE产品支持工程师所必须掌握的一门技术.在线程堆栈中存储的信息,通常远超出你的想象,我们可以在工作中善加利用这些信息. 我的目标是分享我过去十几年来在线程分析中积累的知识和经验.这些知识和经验是在各种版本的JVM以及各厂商的JVM供应商的深入分析中获得的,在这个过程中我也总结出大量的通用问题模板. 那么,准备好了么,现在就把这篇文章加入书签,在后续几周中我会给大家带来这一系列的专

JVM:如何分析线程堆栈

英文原文:JVM: How to analyze Thread Dump 在这篇文章里我将教会你如何分析JVM的线程堆栈以及如何从堆栈信息中找出问题的根因.在我看来线程堆栈分析技术是Java EE产品支持工程师所必须掌握的一门技术.在线程堆栈中存储的信息,通常远超出你的想象,我们可以在工作中善加利用这些信息. 我的目标是分享我过去十几年来在线程分析中积累的知识和经验.这些知识和经验是在各种版本的JVM以及各厂商的JVM供应商的深入分析中获得的,在这个过程中我也总结出大量的通用问题模板. 那么,准

新手学习selenium路线图(老司机亲手绘制)-学前篇

前言: 本来这篇是只在微信公众号(yoyoketang)上发布的,最近一搜,发现本很多人copy(copy公众号的,图片是加载不出来的)了,还没注明出处,不想多说什么,博客上也同步更新这篇吧! 最近群里有不少小白,想入手selenium,但是一直没找到学习路线,还没入门就迷路了,于是小编亲手绘制了一幅学习路线图.希望能帮助小白快速入门,帮助已经入门的,尽快提升!   学习selenium主要分六个阶段,自己在哪个层级,可以对号入座下. 第 一阶段:幼儿园   1.选语言:在学习自动化前,先要选一

Akka学习笔记(七):配置

Akka学习笔记(七):配置 使用Akka可以不用任何配置,Akka提供了明智的默认配置.为了适应特别的运行环境,修改默认行为,你可能需要修改: log level and logger backend enable remoting 消息系列化 路由设置 调度器调优 Akka使用Typesafe Config Library,纯java实现的配置库.之前博客有介绍过here 从哪里读取配置 Akka的所有配置信息装在 ActorSystem的实例中, 或者换个说法, 从外界看来, ActorS

dreaweaver-关于网页边框使用的问题,新手有疑问

问题描述 关于网页边框使用的问题,新手有疑问 右下边框mp3,视频,图片--这个内嵌表格为什么不是在左上角开始,而是跑中间去了-求解 解决方案 td默认就是水平居中的,你要居上给td添加valign="top" <td width="760" valign="top"> 解决方案二: 新手使用python常见问题 解决方案三: 给table或者td写样式啊,实在不行就打开开发者工具看看居中的那个块元素在哪个位置.然后根据实际情况去加样

java中++a和a++ 在数组实现栈中的小疑问

问题描述 java中++a和a++ 在数组实现栈中的小疑问 package 数组实现栈; public class StackArray implements Stack { public static final int num = 1024;//数组默认容量 public int capacity;//数组实际容量 public Object s[];//对象数组 public int top = -1;//栈顶元素位置 //构建默认容量栈对象 public StackArray() { t

Akka笔记之日志及测试

英文原文链接,译文链接,原文作者:Arun Manivannan ,译者:有孚 在前两篇笔记中(第一篇,第二篇),我们简单地介绍了一下Actor以及它的消息传递是如何工作的.在本篇中,我们将看下如何解决TeacherActor的日志打印及测试的问题. 简单回顾 前面我们的Actor是这样的: class TeacherActor extends Actor { val quotes = List( "Moderation is for cowards", "Anything

软件测试-linux代码覆盖率测试工具gcov的一些疑问?

问题描述 linux代码覆盖率测试工具gcov的一些疑问? 鄙人是做软件测试的,最近在使用gcov来检查代码覆盖率,我已经成功生成了一份关于touchscreen测试代码的gcov文件,但是领导说这不是他想要的...所以我想请教一下大家:1. 如果我想测试平台上的touchscreen模块,那么目的肯定是这样:首先我要看下我写的测试code是否存在多余的根本跑不到的代码,如果有,那我肯定要优化我的测试代码:其次,我肯定也要看我写的代码在linux kernel里面的覆盖情况,如果我写的测试代码在

php-ecshop获取端口的疑问

问题描述 ecshop获取端口的疑问 if (isset($_SERVER['SERVER_PORT'])) { $port = ':' . $_SERVER['SERVER_PORT']; if ((':80' == $port && 'http://' == $protocol) || (':443' == $port && ' https://' == $protocol)) { $port = ''; } } 其中 if ((':80' == $port &