为了不让队友 panic,先发文,正在修改,有兴趣可以明日观看。
虽然有种种好处,但是一个分散式系统,也有许多问题需要特别注意,
网路不可靠、电脑会当掉,
这也是之後要讨论的种种课题~
分散式系统能够成立,建立於计算机网路的基础。
而种种网路协定、讯息怎麽被封装和 encode 并在网路中传输,都是计算机网路的范围。
分散式系统的设计则注重於不同 nodes 之间如何合作完成共同的任务,
例如需要传送哪些讯息?
要怎麽处理收到的讯息?
Node:节点,通常是指一台装置,例如手机或电脑。
Link:节点之间需要某种连结,才能够沟通。例如用电线把两台地脑接起来、或是透过 Wifi 连上网路。
可以想见的,
一台电脑可能当机、一支手机可能掉到水里永久 byebye。
Wifi 讯号常常隔了一个墙就衰减很多;
实体线路的话,可以被牛踩、被鲨鱼咬、还能被铁锹骇客敲爆。
如果车车载着超大容量硬碟从台北到垦丁,
这个 latency 挺高的,需要约 5 个小时,到了地点才能开始传输资料。
不过 bandwidth 也很高,如果这是一个能够高速写入的 SSD。
OS 告诉我们,一台电脑中的 process 要互相沟通,
可以使用 shared memory、pipe 等,这些称作 IPC(Inter-process communication)。
而分散式系统中的节点们若需要互相联系沟通,则需要透过网路,
常常使用 RPC(Remote Process Call)。
远端 function call,function definition 跟远端实际的 function 一样。
不同的服务间要沟通,
但使用的是不同的语言怎麽办?
可以程序内部自己处理,但就会需要知道对方传过来的参数长怎样,听起来就很不弹性。
嘛,电脑科学的设计上,没有什麽是加一层 interface 不能解决的问题(#
为此,定义出一个 language independent interface,
这样 data type 的转换就透过 RPC 框架统一处理,
而不需要你我操心。
例如:gRPC 中的 Protocol Buffers
上一篇, 我们已使用 xgboost 完成训练并且产生model档, 这个model的档名为bst_...
WordPress 的接案者主要区分为两种类型:懂得运用各种外挂、布景主题来满足客户需求的接案者,另...
09-14-2021 本章内容 子组件更新父组件的状态 设定组建间的状态 设定组建间事件处理的程序 ...
前一篇提到可以更改 session name 也可以标注 pass/fail 接着就可以将昨天提到的...
https://github.com/PacktPublishing/Machine-Learni...