高并發(fā)&高可用——網(wǎng)游服務(wù)端編程研究
Linux|Nginx|Golang|Openresty|Docker+K8s|Python|DevOps
C++博客
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
隨筆 - 215 文章 - 13 trackbacks - 0
<
2018年6月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
專(zhuān)注即時(shí)通訊及網(wǎng)游服務(wù)端編程
------------------------------------
Openresty 官方模塊
Openresty 標(biāo)準(zhǔn)模塊(Opm)
Openresty 三方模塊
------------------------------------
本博收藏大部分文章為轉(zhuǎn)載,并在文章開(kāi)頭給出了原文出處,如有再轉(zhuǎn),敬請(qǐng)保留相關(guān)信息,這是大家對(duì)原創(chuàng)作者勞動(dòng)成果的自覺(jué)尊重!!如為您帶來(lái)不便,請(qǐng)于本博下留言,謝謝配合。
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(1)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
C\C++(15)
Docker\K8s(9)
Elixir\Phoenix
Erlang(25)
Golang(63)
KBEngine
MMO(8)
Nginx\Openresty(27)
Node.js(5)
Photon(9)
PHP(13)
Python(7)
Redis\Mongo(6)
Rust(1)
分布式\MQ(8)
服務(wù)器\Ops(25)
隨筆檔案
2021年9月 (2)
2019年2月 (2)
2018年12月 (2)
2018年10月 (4)
2018年9月 (1)
2018年8月 (2)
2018年7月 (6)
2018年6月 (7)
2018年5月 (5)
2018年4月 (1)
2018年1月 (1)
2017年12月 (9)
2017年11月 (5)
2017年8月 (2)
2017年7月 (4)
2017年6月 (10)
2017年5月 (15)
2017年4月 (9)
2017年3月 (17)
2017年2月 (11)
2017年1月 (15)
2016年12月 (16)
2016年11月 (6)
2016年10月 (4)
2016年9月 (12)
2016年8月 (15)
2016年7月 (4)
2016年3月 (10)
2016年1月 (3)
2015年12月 (1)
2015年11月 (9)
2015年10月 (1)
2015年9月 (1)
2010年2月 (3)
相冊(cè)
Space
Awesome
★★★★★ LibHunt - Find The Software You Need
Awesome Go
Awesome Python
Blog
★★★微度網(wǎng)絡(luò)
Applied Go
ChinaUnix
Erlang - 瘋狂Erlang
Erlang - 堅(jiān)強(qiáng)2002
Erlang - 沒(méi)有開(kāi)花的樹(shù)
Erlang - 慶亮的博客
Erlang - 余鋒老大
Erlang - 鄭思瑤
Erlang技術(shù)分享
Erlang中文教程
Go - 達(dá)達(dá)的主頁(yè)
Go - 快樂(lè)編程
Go - 戰(zhàn)魂小筑
K8 - 才云科技
Openresty - 春哥
Openresty - 哈姆巴特
Openresty - 京東開(kāi)濤
Openresty - 糖果實(shí)驗(yàn)室
Ops - 劉天斯
Ops - 秋水逸冰
Ops - 運(yùn)維之路
Ops - 張宴
Python - 峰云就她了
Python - 廖雪峰
Skywind Inside
大后端 | 分享與精進(jìn)
風(fēng)雪之隅
戀月
楊粼波
云風(fēng)大神
Book
★★★極客學(xué)院Wiki
Ansible中文權(quán)威指南
Docker入門(mén)實(shí)戰(zhàn)
Effective Go中文版
Photon 翻譯系列 - M守護(hù)神
Rust程序設(shè)計(jì)語(yǔ)言
看云·KanCloud
異步社區(qū)
GitHub
★★★Flatbuffers
awesome-erlang-cn
awesome-go
awesome-python-cn
awesome-rust
Erlang
GoDoc
Golang
KBEngine
Rust
wonderfogo
伯樂(lè)在線
Awesome中文聚合
Link
360奇云測(cè)
DockOne.io
Erlang/OTP 中文手冊(cè)
Erlang中文社區(qū)
Golang Foundation
Golang 中國(guó)
Golang 中文社區(qū)
Golang-伯樂(lè)在線
Golang-腳本之家
Golang語(yǔ)言社區(qū)-微頭條
gopkg.in
Stable APIs for Golang
Go技術(shù)社區(qū)
Go友團(tuán)
Kubernetes中文社區(qū)
php for win擴(kuò)展
php 官方主站
Pomelo Club
PythonTab中文開(kāi)發(fā)者社區(qū)
Rust Playground
TensorFlow中文社區(qū)
V2EX
way to explore
開(kāi)源中國(guó)
看雪論壇
我的首頁(yè)
游戲咖啡屋
搜索
積分與排名
積分 - 216784
排名 - 118
最新評(píng)論
1.?re: C# - Best way to create a Android XMPP chat client in Unity3D
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--思月行云
2.?re: Lua環(huán)境下使用Protobuf
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--思月行云
3.?re: .lib轉(zhuǎn)換為.a之后MinGW編譯引用(Windows平臺(tái))
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--思月行云
4.?re: 幾種UDP網(wǎng)絡(luò)庫(kù)的整理Raknet,UDT,ENet,lidgren-network-gen3
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--思月行云
5.?re: 幾種UDP網(wǎng)絡(luò)庫(kù)的整理Raknet,UDT,ENet,lidgren-network-gen3
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--思月行云
閱讀排行榜
1.?游戲服務(wù)器開(kāi)發(fā)技術(shù)小結(jié)(7686)
2.?Lua環(huán)境下使用Protobuf(7439)
3.?幾種UDP網(wǎng)絡(luò)庫(kù)的整理Raknet,UDT,ENet,lidgren-network-gen3(7325)
4.?阿里云服務(wù)器設(shè)置IPV6及Https支持并通過(guò)AppStore審核(5229)
5.?Golang實(shí)現(xiàn)Slice切片的Insert、Remove、Contains方法(4376)
[知乎] Go語(yǔ)言的優(yōu)勢(shì)在哪里
http://www.zhihu.com/question/21409296
http://blog.csdn.net/johnhomsea/article/details/18944647
1、Go有什么優(yōu)勢(shì)
可直接編譯成機(jī)器碼,不依賴(lài)其他庫(kù),glibc的版本有一定要求,部署就是扔一個(gè)文件上去就完成了。
靜態(tài)類(lèi)型語(yǔ)言,但是有動(dòng)態(tài)語(yǔ)言的感覺(jué),靜態(tài)類(lèi)型的語(yǔ)言就是可以在編譯的時(shí)候檢查出來(lái)隱藏的大多數(shù)問(wèn)題,動(dòng)態(tài)語(yǔ)言的感覺(jué)就是有很多的包可以使用,寫(xiě)起來(lái)的效率很高。
語(yǔ)言層面支持并發(fā),這個(gè)就是Go最大的特色,天生的支持并發(fā),我曾經(jīng)說(shuō)過(guò)一句話,天生的基因和整容是有區(qū)別的,大家一樣美麗,但是你喜歡整容的還是天生基因的美麗呢?Go就是基因里面支持的并發(fā),可以充分的利用多核,很容易的使用并發(fā)。
內(nèi)置runtime,支持垃圾回收,這屬于動(dòng)態(tài)語(yǔ)言的特性之一吧,雖然目前來(lái)說(shuō)GC不算完美,但是足以應(yīng)付我們所能遇到的大多數(shù)情況,特別是Go1.1之后的GC。
簡(jiǎn)單易學(xué),Go語(yǔ)言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go關(guān)鍵字是25個(gè),但是表達(dá)能力很強(qiáng)大,幾乎支持大多數(shù)你在其他語(yǔ)言見(jiàn)過(guò)的特性:繼承、重載、對(duì)象等。
豐富的標(biāo)準(zhǔn)庫(kù),Go目前已經(jīng)內(nèi)置了大量的庫(kù),特別是網(wǎng)絡(luò)庫(kù)非常強(qiáng)大,我最?lèi)?ài)的也是這部分。
內(nèi)置強(qiáng)大的工具,Go語(yǔ)言里面內(nèi)置了很多工具鏈,最好的應(yīng)該是gofmt工具,自動(dòng)化格式化代碼,能夠讓團(tuán)隊(duì)review變得如此的簡(jiǎn)單,代碼格式一模一樣,想不一樣都很困難。
跨平臺(tái)編譯,如果你寫(xiě)的Go代碼不包含cgo,那么就可以做到window系統(tǒng)編譯linux的應(yīng)用,如何做到的呢?Go引用了plan9的代碼,這就是不依賴(lài)系統(tǒng)的信息。
內(nèi)嵌C支持,前面說(shuō)了作者是C的作者,所以Go里面也可以直接包含c代碼,利用現(xiàn)有的豐富的C庫(kù)。
2、Go適合用來(lái)做什么
服務(wù)器編程,以前你如果使用C或者C++做的那些事情,用Go來(lái)做很合適,例如處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)等。
分布式系統(tǒng),數(shù)據(jù)庫(kù)代理器等
網(wǎng)絡(luò)編程,這一塊目前應(yīng)用最廣,包括Web應(yīng)用、API應(yīng)用、下載應(yīng)用、
內(nèi)存數(shù)據(jù)庫(kù),前一段時(shí)間google開(kāi)發(fā)的groupcache,couchbase的部分組建
云平臺(tái),目前國(guó)外很多云平臺(tái)在采用Go開(kāi)發(fā),CloudFoundy的部分組建,前VMare的技術(shù)總監(jiān)自己出來(lái)搞的apcera云平臺(tái)。
3、Go成功的項(xiàng)目
nsq:bitly開(kāi)源的消息隊(duì)列系統(tǒng),性能非常高,目前他們每天處理數(shù)十億條的消息
docker:基于lxc的一個(gè)虛擬打包工具,能夠?qū)崿F(xiàn)PAAS平臺(tái)的組建。
packer:用來(lái)生成不同平臺(tái)的鏡像文件,例如VM、vbox、AWS等,作者是vagrant的作者
skynet:分布式調(diào)度框架
Doozer:分布式同步工具,類(lèi)似ZooKeeper
Heka:mazila開(kāi)源的日志處理系統(tǒng)
cbfs:couchbase開(kāi)源的分布式文件系統(tǒng)
tsuru:開(kāi)源的PAAS平臺(tái),和SAE實(shí)現(xiàn)的功能一模一樣
groupcache:memcahe作者寫(xiě)的用于Google下載系統(tǒng)的緩存系統(tǒng)
god:類(lèi)似redis的緩存系統(tǒng),但是支持分布式和擴(kuò)展性
gor:網(wǎng)絡(luò)流量抓包和重放工具
以下是一些公司,只是一小部分:
http://
Apcera.com
http://
Stathat.com
Juju at Canonical/Ubuntu, presentation
http://
Beachfront.iO
at Beachfront Media
CloudFlare
Soundcloud
Mozilla
Disqus
http://
Bit.ly
Heroku
google
youtube
下面列出來(lái)了一些使用的用戶(hù)
GoUsers - go-wiki - A list of organizations that use Go.
4、Go還存在的缺點(diǎn)
以下缺點(diǎn)是我自己在項(xiàng)目開(kāi)發(fā)中遇到的一些問(wèn)題:
Go的import包不支持版本,有時(shí)候升級(jí)容易導(dǎo)致項(xiàng)目不可運(yùn)行,所以需要自己控制相應(yīng)的版本信息
Go的goroutine一旦啟動(dòng)之后,不同的goroutine之間切換不是受程序控制,runtime調(diào)度的時(shí)候,需要嚴(yán)謹(jǐn)?shù)倪壿嫞蝗籫oroutine休眠,過(guò)一段時(shí)間邏輯結(jié)束了,突然冒出來(lái)又執(zhí)行了,會(huì)導(dǎo)致邏輯出錯(cuò)等情況。
GC延遲有點(diǎn)大,我開(kāi)發(fā)的日志系統(tǒng)傷過(guò)一次,同時(shí)并發(fā)很大的情況下,處理很大的日志,GC沒(méi)有那么快,內(nèi)存回收不給力,后來(lái)經(jīng)過(guò)profile程序改進(jìn)之后得到了改善。
pkg下面的圖片處理庫(kù)很多bug,還是使用成熟產(chǎn)品好,調(diào)用這些成熟庫(kù)imagemagick的接口比較靠譜
最后還是建議大家學(xué)習(xí)Go,這門(mén)語(yǔ)言真的值得大家好好學(xué)習(xí),因?yàn)樗梢宰鰪牡讓拥角岸说娜魏喂ぷ鳌?/span>
posted on 2016-09-05 11:56
思月行云
閱讀(606)
評(píng)論(0)
編輯
收藏
引用
所屬分類(lèi):
Golang
只有注冊(cè)用戶(hù)
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
go使用rpc
Centos7安裝Go語(yǔ)言環(huán)境
Go 1.8 的 Plugin 使用
Golang os/exec 執(zhí)行外部命令
Golang 調(diào)用 Linux 命令
GoLand免激活
golang 通過(guò)fsnotify監(jiān)控文件,并通過(guò)文件變化重啟程序
RabbitMQ安裝(windows版本)
Golang輸出顏色
最簡(jiǎn)單的 kcp-go 消息收發(fā)demo
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Copyright ©2025 思月行云 Powered by:
博客園
模板提供:
滬江博客
狠狠色丁香久久婷婷综合蜜芽五月
|
久久久久久极精品久久久
|
久久久久九九精品影院
|
日韩中文久久
|
亚洲国产精品一区二区久久hs
|
久久国产精品久久国产精品
|
久久久久久毛片免费播放
|
青青青青久久精品国产
|
久久久精品人妻一区二区三区蜜桃
|
人妻无码精品久久亚瑟影视
|
久久久久久久97
|
欧美久久综合性欧美
|
欧美久久综合九色综合
|
国产成人精品白浆久久69
|
久久精品无码一区二区三区日韩
|
久久综合给久久狠狠97色
|
久久久精品人妻一区二区三区蜜桃
|
91久久香蕉国产熟女线看
|
亚洲精品视频久久久
|
欧美牲交A欧牲交aⅴ久久
|
久久青青草原精品国产
|
久久天堂电影网
|
久久国产精品77777
|
久久不见久久见免费影院www日本
|
久久99精品久久久久婷婷
|
国产高清国内精品福利99久久
|
国产精品99精品久久免费
|
狠狠色综合久久久久尤物
|
国产精品久久波多野结衣
|
久久人妻少妇嫩草AV蜜桃
|
欧美粉嫩小泬久久久久久久
|
91精品国产91久久久久久青草
|
99久久免费国产精精品
|
av色综合久久天堂av色综合在
|
久久er国产精品免费观看8
|
亚洲欧美日韩中文久久
|
久久丫忘忧草产品
|
久久精品久久久久观看99水蜜桃
|
久久婷婷色综合一区二区
|
亚洲成人精品久久
|
国产亚洲色婷婷久久99精品91
|