golang
a2699150
这个作者很懒,什么都没留下…
展开
-
千万级弹幕系统技术难点和解决方案
学习慕课网《GO实现千万级WebSocket消息推送服务》,记录一下 一个当红主播直播间假设有100万人同时在线,每秒有1000个弹幕消息需要同步给所有在线client。服务器每秒就需要发送100万*1000(10亿)条消息。 难点1:内核 linux内核发送tcp的极限包频大约是100万/秒(而我们的在线人数较大,发包频率高) 难点2:锁 维护在线client的map 发送消息时需要遍历...原创 2019-07-31 18:56:42 · 1482 阅读 · 0 评论 -
go动态创建struct
package main import ( "fmt" "reflect" ) var typeRegistry = make(map[string]reflect.Type) func registerType(elem interface{}) { t := reflect.TypeOf(elem).Elem() typeRegistry[t.Na...原创 2019-07-31 18:57:03 · 5509 阅读 · 1 评论