37
{ Erlang HTML5 Erlang助力HTML5 郑智斌 发总监兼主程 个人:[email protected] 公司:[email protected] 微博:weibo.com/witeman QQ: 19653403

Erlang and HTML5

Embed Size (px)

DESCRIPTION

How Erlang power up HTML5

Citation preview

Page 1: Erlang and HTML5

{Erlang 与 HTML5

Erlang助力HTML5

郑智斌 研发总监兼主程

个人:[email protected]公司:[email protected]微博:weibo.com/witemanQQ: 19653403

Page 2: Erlang and HTML5

是什么?

FPSoft

Real-Time

FaultTolerance

COPBuilt-in

DistributionBuilt-in

Concurrency

Page 3: Erlang and HTML5

FPL – 函数式编程语言

{M, F, A} 高阶函数 模式匹配

变量绑定 一次赋值

Page 4: Erlang and HTML5

Soft Real-Time 软实时

Hard Real-Time

•Z80 CPU34us

•SimpleSystem

Soft Real-Time

•DB lookup97%cases<20ms

•ComplexSystem

Erlang how toRealize

•Light WeightProcesses

•GC Separately

•LanguageFeatures

Page 5: Erlang and HTML5

Fault Tolerance

S1

S11

S111

W1 W2

S112

W3

S12

W4

Supervision Tree (OTP)

Page 6: Erlang and HTML5

世界是并发的 多核时代

进程间不共享任

何数据沟通通过消息

COP

面向并发的编程

Page 7: Erlang and HTML5

天生分布式

Pid1 Node1

Pid2Node2

Pid3 Node3

Pid1 ! {dosomething}.

Page 8: Erlang and HTML5

天生并发 (spawn)

Page 9: Erlang and HTML5

ScalabilityFault

Tolerance

High Availability

Replication

Riak Dynamo-inspired, OpenSource Key/Value Distributed Database

Page 10: Erlang and HTML5

Riak 技术架构

Page 11: Erlang and HTML5

存储结构

Bucket Key Value

LinkSecondary

index

Page 12: Erlang and HTML5

Link Walking

Page 13: Erlang and HTML5

去中心化(no master node)

和谐性

向量时钟(versioning)

Gossip Protocol

一致性Hash

Dynamo

Page 14: Erlang and HTML5

N 数据有多少备份

R 每一次成功的读需要在多少个备份读到数据

W 每一次成功的写需要保存在多少个备份上面

N,R,W – CAP Theorem

Page 15: Erlang and HTML5
Page 16: Erlang and HTML5
Page 17: Erlang and HTML5
Page 18: Erlang and HTML5

JavascriptErlang

Map/Reduce

Page 19: Erlang and HTML5
Page 20: Erlang and HTML5
Page 21: Erlang and HTML5
Page 22: Erlang and HTML5
Page 23: Erlang and HTML5
Page 24: Erlang and HTML5

Riak Core Framework

Page 25: Erlang and HTML5
Page 26: Erlang and HTML5
Page 27: Erlang and HTML5

Web Socket

Page 28: Erlang and HTML5

Erlang也有自己的Node.js

Beam.js

Page 29: Erlang and HTML5
Page 30: Erlang and HTML5
Page 31: Erlang and HTML5
Page 32: Erlang and HTML5
Page 33: Erlang and HTML5

HTML5 App

强劲的分

布式数据

库(Riak)

方便快速

地开发

WebsocketServer

JavascriptEngine

(erlang_js,beam.js)

强健的分

布式框架(riak_core)

Erlang助力HTML5

Page 34: Erlang and HTML5

Q & A

Page 35: Erlang and HTML5

3月份成立,现在已经有80人的规模

总部在科学城

天河分公司在一个月内成立

北京分公司在六个月内成立

广州安浩软件有限公司

Page 36: Erlang and HTML5

客户端开发工程师 Android(cocos2d-x) /

iOS

服务器开发工程师 Erlang

数据挖掘

策划

广州安浩软件有限公司

Page 37: Erlang and HTML5

谢谢!