首页

异步是反人类的
人类生活在一个充满异步事件的世界,但是开发者在构建应用时却遵循同步式思维,究其原因就是因为同步符合直觉,并且可以简化应用程序的构建
In Akka you would create an Actor subclass that would receive messages which are serialized objects.
In vert.x you would create a verticle that would receive messages which are json objects.
其中 actor 和 verticle 都是 lightweight concurrent entities
vertx的json格式对语言的兼容性更好
vert.x is designed to be more language neutral through the use of json as opposed to language specific objects
Vert.x是一个基于netty的异步工具集 ,可以简单理解成运行在JVM上的Node.js
vertx-sync 解决异步代码编写的困难
Sync.awaitEvent    从Handler里返回一个事件结果(同步的),且不会阻塞EventLoop
Sync.awaitResult   从Handler里返回一个异步事件结果(同步的),且不会阻塞EventLoop
Sync.fiberHandler  handler里的一些逻辑在Fiber里运行
Reactive Programming  响应式编程
Reactive Streams规范于2015年出现,旨在为具有无阻塞背压的异步流处理提供标准,确保库的互操作性
背压(backpressure)
接收方接收数据速度较慢时,强制降低发送方的数据发送速度,也称为流量控制。
RxJava SpringReactor
Akka  Vert.x
akka提供了几种不同的OverflowStrategy,除了backpressure之外还有 DropHead DropTail DropBuffer DropNew 和 Fail
内卷时代
主业专精 副业加持 投资傍身 谨慎创业
云原生 CloudNative = Cloud+Native
Native 应用考虑云环境,原生为云而设计,在云上运行,充分利用和发挥云平台的弹性+分布式优势
f(g(h(k(i))) 与 a=k(i),b=h(a),c=g(b),d=f(c)
Martin Odersky 给出两个编写Scala代码的原则
尽量用能力弱的功能
给中间步骤命名
Databricks Scala 编程风格指南
https://github.com/databricks/scala-style-guide/blob/master/README-ZH.md
Databricks为了性能考虑,更倾向于采用命令式方式去使用Scala,例如,规范建议使用while循环,而非for循环或者其他函数转换(map foreach)
Spark 许多源代码并没有遵循Scala推崇的最佳实践 ,Odersky对此的解释 
Spark的API设计是和Scala 集合类设计是一致的函数式风格,里面具体的实现为了追求性能用了命令式,Scala集合里面的实现函数为了性能也用了很多var

第一页 上一页 下一页 最后一页