capability and is supervised locally/remotely.* High Performance (performance)You can send 50 million messages per second in a single machine. The memory footprint is small, and 2.5 million actors can be saved in 1GB memory.* Elasticity, no center (elastic-decentralized)Adaptive responsible Equalization, routing, partitioning, configuration* Extensible (extensible) can be extended using the
This blog gradually analyze the source of Akka streams, of course, must be gradual, and estimates will be divided into many, after all, Akka streams is more complex.
Implicit val system = Actorsystem ("QuickStart") implicit val Materializer = Actormaterializer ()
When using streams-related APIs, the above two objects must be created. Actorsystem no longer said, we came to see Actormaterializer.
Actormateri
Akkais a concurrent processing framework based on the Actor model implementation. Event-driven concurrency processing model, each actor has its own properties and operations, which avoids the usual situation because multiple threads share attributes (data) instead of locking mechanisms. This mechanism is applied well in the Scala,cloure language, and the operations and attributes are processed in a separate unit to improve the ability of concurrent processing.
Five characteristics of
A period of time has been immersed in functional programming mode, one of the main purposes is to master a set of safe and reliable concurrent programming method (concurrent programming), finally through the Open source project Funda implementation of the single-machine multi-core CPU program parallel operation. However, although the parallel operation in the terminal can make full use of the computing power of multi-core CPU to distribute data processing operations to the foreground can greatly
As we all know, Akka system is a distributed computing system based on actor mode, which is very suitable for building big data platform. As a result, there is an unavoidable need to integrate between standalone systems, with heterogeneous systems, and with mobile systems. Because of the heterogeneous and mobile systems involved, the system docking must be conducted on a set of open standards, including data format and transmission standards. In fact,
Scala has been using Akka as a concurrency model since 2.10, and this article is the first example of Akka.1.Akka Getting Started instance PackageCom.tv189.actorImportAkka.actor. {Actor, Actorsystem, Props}/*** Created by Molyeo on 2015/8/6.*/Object AkkaTest01extendsApp {val system= Actorsystem ("Akkatest") Val Helloactor= System.actorof (Props[helloactor], name
server and sends the task to the Akka cluster. Using Clusterclient is a very wrong decision because it does not maintain a long connection to the Akka cluster, so it often reports a connection error, and also restarts the JVM where the client resides when the connection is re-established.
Elasticsearch is used as the query engine and data store, including raw data and analysis results.
The Kibana i
Often people ask: what is the difference between Akka's actor and Scala's actor? The answer here is that, from the Actor model point of view, there is no difference, they all implement the actor model.Akka actors and Scala actors are both implementations of that model.All actors model says that your concurrency primitives is actors, which can:
receive a message and decide what does next depending on the content of the message, including:
send messages to any actors they know abo
to the actor it represents, and the actor can use the self () or sender () method to obtain the actor's reference to itself or the sender of the message, and in the actor system, the actor never communicates directly between the actors, The communication actor path must be established through their proxy actorref
Father and son actorTree structure, hierarchical management, and the atomization of complex transactions by recursion
The actor Path:actor system uniquely identifies the local actor"
Before play 2.6.x, the play defaults to using the Netty service backend. By 2.6.x, the default service backend is replaced with Akka HTTP, but it is still possible to manually select the Netty service backend. To upgrade to 2.6.x, you need to be aware of this. Because Akka HTTP servers are slower than Netty HTTP servers. So if you are particularly sensitive to performan
into future, but it may cause performance problems and OOM. Solution to the blocking problem:
Place blocking calls in one or more actor-managed router. Make sure to configure a thread pool
When putting blocking into the future, you must ensure that there is a maximum number of future calls; otherwise, oom is easy. You can also configure a thread pool with an upper limit.
Use a single thread to manage a group of blocked resources and issue events t
)"In-depth understanding of spark: core ideas and source analysis," the third chapter of the third part of the content, please see the link "in-depth understanding of spark: core ideas and source analysis,"--sparkcontext initialization (tert-chapter)"In-depth understanding of spark: core ideas and source analysis," the third chapter of the fourth part of the content, please see the link "in-depth understanding of spark: core ideas and source analysis,"--sparkcontext Initialization (quarterly)
same functionality, and Akka itself is a great level of scale, Online balance adjustment and online upgrade capabilities of the cluster platform. 2. Performance: For our application scenario, the performance so far is good enough. The cluster we are running now maintains more than 1 million persistent connections with 4 nodes, about 250,000 per node. The other 3
:
Actorref.tell: Asynchronously sends a message and returns immediately;
Actorref.ask: Asynchronously sends a message and returns a future that represents a possible response;
So always use tell to be more performance, unless you have to use ask
Operation Result:
[INFO] [05/17/2015 17:46:44.224] [Actor-system-akka.actor.default-dispatcher-3] [Akka://actor-system/user/simple-actor] SimpleActor construct
= actorsystem.create ("Mysystem") using props;
Final Actorref Actor1 = system.actorof (Props1, "Actor1");
Final Actorref Actor2 = system.actorof (PROPS2, "Actor2");
Actor2.tell (Msg.hi, Actor1);
System.stop (Actor1);
System.stop (ACTOR2);
System.shutdown ();
} public static void Main (string[] args) {communication ();
}
}
The props1 created above, the parameters passed are Actor1.class, "Actor1", 1. where "Actor1" and 1 correspond to two parameters of a constructor. Back to Act
Akka has many advantages, such as high performance, high reliability, high concurrency, distributed, fault tolerant, extensible, event-driven, and not described. Different versions of the API vary widely, and this article runs on Scala 2.10.3 and Akka 2.3.2.
definition
Defining the actor is simple, inheriting akka.actor.Actor, and implement
Want to get Akka http, used for our open source project football, found Akka http in the case of a large number of Akka stream, and Akka HTTP is built on the Akka stream.So let's take a look at Akka stream first to understand the
Akka entry-become and unbecome, akkaunbecomeAkka supports real-time replacement of the role message loop (such as its implementation) at runtime: Call the getContext. become method in the role. Hot replacement code is stored in a stack and can be pushed (replacing or adding at the top) and popped.A particularly good example of become is to use it to implement a finite state machine.The Become/Unbecome feature can also be used to conveniently implement
Akka
What is akka? Directly reference the above description on the akka Website:
Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM.
Anyway, I think akka is difficult to get starte
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.