golang web

收录了 7 篇文章 · 1 人关注

  • Go语言Web服务-感觉较完整

    1 】Web工作方式 https://blog.csdn.net/qq_34777600/article/details/81157219 2】Go如何使得Web工作 https://blog.csdn.net/qq_34777600/article/details/81157572 3】Go的http包详解 https://blog.csdn.net/qq_34777600/article/details/81157875 4】Socket编程 https://blog.csdn.net/qq...

  • 软件技术-零基础网页和Golang服务器数据通信

    欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】 用户注册功能是网站的必要功能,也是其他功能的基础和前提。 上一篇文章软件技术-零基础编写响应式页面 发送数据 编写好页面效果了,还要实现提交按钮功能,当用户点击提交按钮的时候就把邮箱和密码信息发送给服务器。 发送到哪里,定个目标,比如发给http://localhost:8080//api/register这个地方。 发送什么数据?要获取到输入框中用户打字的内容,可以用$('#email').val()的方法通过元素id名email获得输入框...

  • 线上Golang程序 GC调优一例

    13 Nov 2013 线上Golang程序 GC调优一例 Golang 是一个很有意思的语言,第一次看它介绍时,就很喜欢。半年前加入美团,有机会用它写了几个线上程序。其中一个程序Router,每天需要转发几千万的请求。由于需要根据请求内容决定route路径,它需要加载几十万deal(美团单)的信息到内存供查询。问题来了,用map装的几十万数据让gc很辛苦。 Deal数据 // Deal的定义 type DealTiny struct { Dealid int32 Classid int32 M...

  • 实战讲解高并发和秒杀抢购系统设计

    互联网特别是电商平台,阿里双11秒杀、还有12306春运抢票、以及平时各种节假日抢购活动等,都是典型的高并发场景。这类场景最大的特征就是活动周期短,瞬间流量大(高并发),大量的人短期涌入服务器抢购,但是数量有限,最终只有少数人能成功下单。这里,就来讲一讲对应该场景下需要考虑的技术实现。先从基本的概念的建立,再讲对应的实现部分。第一:高并发技术要做的事,一方面优化程序,让程序性能最优,单次请求时间能从50ms优化到25ms,那就可以在一秒钟内成功响应翻倍的请求了。另一方面就是增加服务器,用更大的集...

  • go语言的urlencode编码使用方式

    1,首先我们可以查看godoc.com下的net/url https://godoc.org/net/url 2,我们来看下演示代码 package main import ( "crypto/md5" "flag" "fmt" "net/url" "strings" "time" ) func main() { fmt.Println("./timetoken -t 3600 -key key -url url") var t int64 var key string var resUrl s...

  • Go中优雅的HTTP服务关闭

    虽然写出7x24小时不间断运行的服务是一件很酷的事情,但是我们仍然在某些时候,譬如服务升级,配置更新等,得考虑如何优雅的结束这个服务。 当然,最暴力的做法直接就是kill -9,但这样直接导致的后果就是可能干掉了很多运行到一半的任务,最终导致数据不一致,这个苦果只有遇到过的人才能深深地体会,数据的修复真的挺蛋疼,有时候还得给用户赔钱啦。 所以,通常我们都是给服务发送一个信号,SIGTERM也行,SIGINTERRUPT也成,反正要让服务知道该结束了。而服务收到结束信号之后,首先会拒绝掉所有外部新...

  • Golang 优化之路——HTTP长连接

    写在前面 压测的是否发现服务端TIME_WAIT状态的连接很多。 netstat -nat | grep :8080 | grep TIME_WAIT | wc -l 17731 TIME_WAIT状态多,简单的说就是服务端主动关闭了TCP连接。 IMG-THUMBNAIL TCP频繁的建立连接,会有一些问题: 三次握手建立连接、四次握手断开连接都会对性能有损耗; 断开的连接断开不会立刻释放,会等待2MSL的时间,据我观察是1分钟; 大量TIME_WAIT会占用内存,一个连接实测是3.155KB...