Scala使用体验 玄畅 201512
-
Upload
jiahua-zhu -
Category
Science
-
view
359 -
download
3
Transcript of Scala使用体验 玄畅 201512
![Page 1: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/1.jpg)
scala@
: 2015.12
![Page 2: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/2.jpg)
...- java , HSF - maven scala proxy - maven, sbt - … …
() => ,
![Page 3: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/3.jpg)
scala
• ,
•
•
• sbt
• sbt-native-packager
•
•
•
![Page 4: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/4.jpg)
• HSF
•
•
•
![Page 5: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/5.jpg)
scala
gutbucket
Kestrel
Finatra
sbt-native-packager
Scala.js
![Page 6: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/6.jpg)
scala :
rainbow-V2 Semantic-UI + PlayFramework
![Page 7: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/7.jpg)
1. 2. =>
![Page 8: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/8.jpg)
foldLeft
![Page 9: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/9.jpg)
![Page 10: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/10.jpg)
• nexus Scala proxy
• Play . JSON
• Scala
![Page 11: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/11.jpg)
scala ( )
![Page 12: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/12.jpg)
, ·scala: 面向问题源头, 链式向后推演, 然后“apply()”,链式。
· java: 用什么框架和组合解决问题,块状。
命令式和函数式 是两种思维模式
![Page 13: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/13.jpg)
• spark ,
•
• (job) ,
•
• ( )
分布式计算的技术问题, 逐渐沉下去。数据计算门槛越来越低。
![Page 14: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/14.jpg)
解决这类问题, 市面上已有的产品: databricks Data Cloud、AWS Mapreduce、Baidu MapReduce等等, 都是优秀的产品。
个人觉得解决大数据计算的易用性产品,大势所趋,快速成熟。
![Page 15: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/15.jpg)
: • Agent
• java -> rpm package, service + watch dog
•
•
•
•
解决问题: spark/yarn集群能启动
![Page 16: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/16.jpg)
: Server
• netty tcp persistent channel
• codec
• push jobs to agent
• heartbeat
• cluster metric
解决集群和job管理的问题
![Page 17: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/17.jpg)
· netty client, payload codec后, 交给actor处理消息
· 一个模块一个actor
· actor 每一个动作或者功能就是一个消息, 异步处理。messge -> fn
· ask/future/promise 需要等待的动作
· chill 部分scala/java对象需要序列化
· 成员变量尽量放到函数中, 最大限度减少内存占用
![Page 18: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/18.jpg)
• ecs
• oss
• ram
• rds
• slb 的确好用
![Page 19: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/19.jpg)
• sbt-native-packager ,
•
• akka
• netty , (codec)
• future/promise future, promise
• system.scheduler.scheduleOnce ,
• netty + akka ,
![Page 20: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/20.jpg)
• Open Api : ( , , , …)Open API
•
• ScalaTest , ; / ,
•
![Page 21: Scala使用体验 玄畅 201512](https://reader033.fdocument.pub/reader033/viewer/2022042510/58eda23a1a28abee7b8b45f3/html5/thumbnails/21.jpg)
• Functional_Design_Patterns.pdf
• scaladayssf-150316213819-conversion-gate01.ppt
• scala in depth
• scala-best-practices