续上篇,Day 16 读 Go Concurrency Patterns - Rob Pike III
在实际的状况中,有可能发出 query 刚好就是传送到比较慢的 server,但是我们又不想等太久,而且也不想丢掉搜寻的结果,解决办法其中之一就是一次搜寻多个 replica server ,拿到最快回传的那一个吧。
这里就识做了一个 First function,拿取搜寻多个 replica 结果最快的一个
注意: First 会造成 goroutine leak,之後再来看怎麽改
接下来 google3.0 就完成啦,和 2.1 版的程序架构几乎一样,只是多了 First 的做法
Rob Pike 再次强调,我们没使用传统的 concunnency 工具就达成啦,透过 goroutine 和 channel 就能达到这样的设计,程序架构也相当简单。
做完这个 Google search 的总结,本来从很慢很脆弱的程序,最後变的快速且 robust 了
<<: Ruby on Rails CRUD 之 R(Read)
Leetcode #394. Decode String 题目简单来说要用数字乘以[]里面的字串 e...
从发布第一篇什麽是 Render 至今,Render 增加了很多新功能,像是 SSH、Redis、D...
每天整理一个程序知识点, 让自己建立笔记习惯。 本业缘故内容以前端为主, 但只要跟网路程序数位相关的...
在写程序时,回圈是经常使用到的工具,他可以重复执行同样的工作,直到条件式不符合时跳出回圈,执行下一个...
Keyword: Dependency Injection 到Day20 使用Koin管理依赖注入显...