Day 17 读 Go Concurrency Patterns - Rob Pike IV

续上篇,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)

>>:  第3天~调查表

Day.11 Decode String

Leetcode #394. Decode String 题目简单来说要用数字乘以[]里面的字串 e...

[Deploy to Render] 用免费方案部署 LINE Bot

从发布第一篇什麽是 Render 至今,Render 增加了很多新功能,像是 SSH、Redis、D...

Day00 前言与目录

每天整理一个程序知识点, 让自己建立笔记习惯。 本业缘故内容以前端为主, 但只要跟网路程序数位相关的...

Day10 while回圈

在写程序时,回圈是经常使用到的工具,他可以重复执行同样的工作,直到条件式不符合时跳出回圈,执行下一个...

Day 18: To DI ? Or not DI? 依赖注入的存在意义

Keyword: Dependency Injection 到Day20 使用Koin管理依赖注入显...