最近在使用nginx+lua+redis做一个系统,来支撑高并发高访问量的应用。开发时突然想到golang是不是也可以达到同样的效果。于是写了个简单的代码对比一下。 具体就不多做介绍了,网上很多关于nginx+lua+redis构建高并发应用的介绍。我使用的是openresty+lua+redis。
Goroutine这个东西其实挺好理解的,有了对tornado的理解,这个东西其实类似,只不过tornado是基于框架的ioloop,而Goroutine是基于语言的"ioloop"——这里加引号表示其实我现在不太明白具体是什么,但是可以肯定的是它在运行时提供了类似的东西,不论是用epoll实现还是select或者其他什么实现。个人理解它是在运行时提供了类似于OS的进程调度机制,然后它的每一个Goroutine都相当于一个线程,这样才有了Goroutine抢占式的特性。(如果我理解错了,欢迎指
作为新(网络)时代的编程语言,go本身就具备了web开发的特性,也就是你不需要框架就可以开始写web程序,这比用Python实现更容易。
最近在尝试用go语言(golang)开发项目,觉得go还挺不错,相较于Python来说,静态语言的优点就是写完代码就能检查出大多数的错误,有效的避免运行时出现的琐碎的bug。另外对于vimer来说,静态语言是的代码跳转变得容易,这意味着我可以随时的跳到包源码里了。好像暴露了用vim写python时的一些缺陷,好吧,这其实不是缺陷,用Ctags可以解决的,只是懒的配。
最近在学习和实践Go语言,整理一些学习资料, 包括视频和文章
安装起来是比较容易的,简单介绍一下,以后经验多了在上干货。 1. 安装 对于所有的平台 `官网 `_ 上都有安装说明,这里只针对mac系统,到 `下载页面`_ 下载最新的对应版本,下载完直接安装即可