Akka分布式并发通信框架示例代码(一)
1. Akka是什么
- akka可以看做是一个分布式高效通信框架,基于actor模型实现的
- 很好简化了异步通信和分布式通信的代码编写
2. Akka解决了什么问题
- 针对于分布式、异步通信编程问题
- akka的基础架构流程图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5030e0025f08e4cf612a7df680c8d1f1.png#pic_center)
- 这个架构其实和hdfs中的namenode与datanode之间的架构非常相似,或者说差不多一样。
- 每个节点中,都有一个或者多个actor,通信发生在actor之间,这里只是备注了节点服务器之间的通信,后续会进一步详细说明actor之间的通信。
3. Akka怎么使用
3.1 环境准备
- scala安装,2.12.12,如何安装可以搜索我博客
- maven环境,3.6.3 ,如何安装可以搜索我博客
- JDK 1.8,如何安装可以搜索我博客、
- Idea 2020版本
3.2 maven工程
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.doit</groupId>
<artifactId>akka-rpc</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<encoding>UTF-8</encoding>
<scala.version>2.12.12</scala.version>
<scala.compat.version>2.12</scala.compat.version>
<akka.version>2.4.17</akka.version>
</properties>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_${scala.compat.version}</artifactId>
<version>${akka.version}</version>