• 2014-03-12

    异步编程语言的常见坑

    Views: 24420 | 4 Comments

    天生支持异步编程的语言如 NodeJS, Golang 等, 创建一个异步 routine 的成本非常小, 这确实是一个非常方便的功能. 比如用在网络爬虫程序的开发, 对于每一个要抓取的 URL 就启动一个 routine, 类似启动一个线程, 既能充分利用 CPU 多核, 代码也很简洁.

    正因为太方便, 所以常常被滥用, 并引发许多严重坑. 下面分析一下.

    1. 拖垮了所依赖的服务

    写异步编程的程序员是爽了, 但维护数据库的 DBA 却要哭了. 异步编程程序员每一个查询可以轻松的异步, 但数据库的处理能力就那么多, 最直接的后果是数据库挂了. 回到网络爬虫的例子, 如果爬虫本身不做控制, 可能就把对方的网站拖垮了.

    Continue reading »

    Posted by ideawu at 2014-03-12 22:35:59 Tags: , ,
|<<<1>>>| 1/1 Pages, 1 Results.