akka接地气构建一个简单分布式系统
业务需要,小组内部搭建了一个基于akka简单的分布式集群,尽量轻量级。
业务场景,简要说下,目前业务数据量比较大,且还在以每天几十万的数据量递增,现在需要根据这些历史数据,从不同的维度,且维度可能组合,统计相关业务数据,其中包括数据挖掘,数据运营,同时还有可能业务告警,同时还要求数据尽量及时,而且考虑到后续可扩展,可以增加任意其他维度,能够快速响应等,
从上面的描述中,我们可以提供几个关键字,大数据,实时统计,多维度统计,快速接入等,这些其实公司内部是有些平台和框架可以满足的,用hadoop跑job来解决,但不够实时,且接入还是有点麻烦,所以我们产生了一个想法,自己搭建一个小型集群,毕竟数据量不是很大,而且akka这个框架,宣传还是挺强大的,也比较成熟,但也需要能够驾驭它,引入一种新技术,最好还是能够解决一些问题,并且有足够的驾驭能力,否则发布到线上,有问题的话,那就死翘翘了,这里我将分几个部分,把最近学习的一些akka心得,记录在此,前面我写过的文章可能都虎头蛇尾,但后续会慢慢补上,零碎的时间比较多,没法集中精力和时间来系统学习,只能能够用这种方式来写这些文章了。
actorRef的tell用法真的好绕,且akka的用法太灵活,同种功能,实现方式太多,导致学习成本有点大,且中文资料几乎没有,只能硬着头皮啃官方文档了,不过先看一些简单的demo,对于快速进入学习还是很不错的,这里可以下载,基于scala版本,学习成本更大,首先从java client学习开始吧。
https://github.com/write2munish/Akka-Essentials
这里的例子还是比较全的,可以对akka有个大致的认识和基本使用