首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

SDP(0):Streaming-Data-Processor - Data Processing with Akka-Stream

再有两天就进入2018了,想想还是要准备一下明年的工作方向。回想当初开始学习函数式编程时的主要目的是想设计一套标准API給那些习惯了OOP方式开发商业应用软件的程序员们,使他们能用一种接近传统数据库软件编程的方式来实现多线程,并行运算,分布式的数据处理应用程序,前提是这种编程方式不需要对函数式编程语言、多线程软件编程以及集群环境下的分布式软件编程方式有很高的经验要求。前面试着发布了一个基于scalaz-stream-fs2的数据处理工具开源项目。该项目基本实现了多线程的数据库数据并行处理,能充分利用域内服务器的多核CPU环境以streaming,non-blocking方式提高数据处理效率。最近刚完成了对整个akka套装(suite)的了解,感觉akka是一套理想的分布式编程工具:一是actor模式提供了多种多线程编程方式,再就是akka-cluster能轻松地实现集群式的分布式编程,而集群环境变化只需要调整配置文件,无需改变代码。akka-stream是一套功能更加完整和强大的streaming工具库,那么如果以akka-stream为基础,设计一套能在集群环境里进行分布式多线程并行数据处理的开源编程工具应该可以是2018的首要任务。同样,用户还是能够按照他们熟悉的数据库应用编程方式轻松实现分布式多线程并行数据处理程序的开发。

01

2018的第一份书单

1.《fluent python》(中文版:《流畅的python》) 这本书来源于某个公众号的推荐(忘了是哪个了),在读这本书之前,已经阅读了市面上很多python书籍,比如《python核心编程》,《python学习手册》,《python源码剖析》,这些书籍在一定程度上写的很不错,但给你的感觉就像是读官方文档,没有注入作者自己的想法,直到遇上了《流畅的python》,这本书从数据模型开始讨论,从python的基础数据结构开始引入整个python的设计哲学,对!这本书灌输给你的就是python是如何设计它的语言特性的,一般的书你读了可能就是对的,就应该这么写,作者不会去剖析为什么要这么写,这本书不然,处处体现了python的为什么要这么设计,而不是告诉你要怎么写。不剧透了,如果要进阶python,这本书是不二之选。(注:如果有可能可以去读读英文原版,因为我读了翻译版后,找了原版再去复习了一遍,感觉目前的翻译版本翻译的不怎么好,有些细节在翻译的过程中丧失了。) 2.《designing data-intensive application》(暂无翻译版) 这本书是有关数据系统设计的书,可以这么说,读完这本书再去读大数据的相关论文就是事半功倍,很后悔之前没读这本书就读了那些大数据的相关论文,现在慢慢的回过头再去回味那些论文,很多疑惑都解开了。全书以数据库评价指标开头,从单机的数据模型,存储、搜索、文件格式、传输慢慢聊到分布式系统下的一致性和共识,最后再整合,让你拍案叫绝。唯一的遗憾在于它至今没有中文版。 3.《programming in Scala》(中文版:《Scala编程》) 这本书的作者就是Scala的设计者,显然书籍的含金量不容置疑。全书充满着书生的学究气,不把一件事挖到底决不罢休。作为语言的设计者,除了描述Scala的使用,也会讲述Scala这门语言为什么要这么设计。如果你是初学者,我觉得这本书不适合你,虽然这本书也包含了入门,但是作者显然没把你当作初学者看待。 其实还读了一些网上书单推荐的书,例如《高可用架构》,《clean architecture》等,这些书感觉都像是一种描述性的语气讲述着知识点,知其然而不知其所以然,读读即可。

01
领券