Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12469
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 42
  • 用 户 组: 普通用户
  • 注册时间: 2015-09-15 10:19
文章分类
文章存档

2015年(3)

我的朋友
最近访客

分类: IT业界

2015-10-10 18:39:30

golang作为新生代语言,除了看似有个好爹(好像google也没有全力推进的意图),在生产应用上没有很大的推广。初学golang,第一感觉是简单,关键字少,并发简单,基本类型也简单,内建函数也少。极致简单的理念能做的事更多,做为编译型的语言,虽然没有php,python脚本那样运行简单,但是部署是异常方便的,开发过程中倒是因为golang有些要求过于严格,调试运行不是特别方便。
golang有丰富的web服务器的包,加上内置良好的并发,似乎在web服务程序上有优势,但是自建server,在开发学习中可能学到很多底层的东西,却是不能在实际部署上有优势,毕竟服务端的程序已有apache和nginx,一般项目自己实现server不是个好主意(虽然内置了http是十分容易实现,但webserver也不只是简单的访问转发而已,还有类似日志,访问限制等等一些列的功能),有php+apache或nginx这样的强敌,golang在开发效率上多做了server端的功夫,也不会有nginx和apache来得高效和稳定。尤其是在webserver上不做复杂web应用的话,php等脚本语言无疑是更适合的,其一是,非大型web服务器在服务端做的事情主要集中在数据读取写入这块,golang的效率提高在数据库的操作的低效上就被折抵了,server程序得不到显著的效率提升。其二是,开发效率上是无法与php这中动态语言平齐的。php在web服务器领域的长期发展和适应,对于golang来说还是很能追上。其三是:web端的守门人,apache和nginx的存在,他们的存在和动态语言的配合,使开发效率提升,程序结构简化。
but。。。。。。。。
总会有一个but是不是
web端http连接其实带来了好多的限制,连接上,处理完,然后就返回的后台处理模式被http固定下来。golang这中常驻内存运行的,更加适于高并发的长连接处理,一边读,另一边不断处理,数据源源不断的来,处理也是并发的不停。这是实现数据处理上的并发而非http的连接并发。http的连接讲究的是数据的传递和处理(更加侧重于数据传递),是流水线的工作模式。tcp长连接往往是大量数据的并发处理,要求更高的效率,对服务器的压力也更大。在h5技术的发展下,web端的应用将会更多借助websocket的力量,移动化的趋势中,移动终端更是要与server进行长连接。这里更应该是golang的战场。
阅读(873) | 评论(0) | 转发(0) |
0

上一篇:golang json的大小写技巧

下一篇:没有了

给主人留下些什么吧!~~