本文目錄一覽:
- 1、golang適合做web開發嗎
- 2、成都golang好找工作嗎
- 3、golang有沒有好的開源遊戲框架
- 4、golang編寫的項目,使用alpine製作鏡像遇到的一個問題解決
- 5、組件分享之後端組件——基於Golang實現的高性能和彈性的流處理器benthos
golang適合做web開發嗎
適合。框架足夠成熟了 A Survey of 5 Go Web Frameworks
小型項目你甚至不用框架,用net/http http – The Go Programming Language
常用庫也成熟了 Top – Go Search
golang的web後端即使不concurrent也比php,ruby,python快很多很多
golang里用concurrent真的非常方便,非常非常快,超大web項目golang scale成本低
如果你想,golang的部署可以比php更方便,使用go get和http.ServeAndListen()可以不用nginx和apache
對於文件改動重新編譯其實並不是大問題,看pilu/fresh · GitHub,其實你自己寫shell腳本(也可以直接用go寫,因為它本身就是系統語言)監控文件系統改動然後自動重新build,即使是C/C++的項目這也不是大問題,人們不用C/C++寫web是因為它們不是寫web app的最佳選擇
golang寫的代碼編譯通過後,要比scripting language魯棒,因為go compiler強制一些最佳實踐
成都golang好找工作嗎
成都工作好找?沒什麼特長還2000左右的工資?樓上的,你真會誤導群眾也~~~
大實話,成都工作好找,但好工作很難找~~~除非你有一技之長,且比較專精。懂點皮毛工資表想上2000哈。
golang有沒有好的開源遊戲框架
Go作為近兩年迅速流行起來的編程語言始終致力於使事情簡單化。它並未引入很多新概念,而是聚焦於打造一門簡單的語言,讓開發者使用起來感覺異常快速且簡單。相信有意向深入學習Go語言的小夥伴都在研究Go的開源項目,今天我就把自己覺得不錯的6個Go開源項目推薦給大家,希望大家能獲得收穫和成長。
推薦一:kubernetes 【Star:44418】
Kubernetes基於Docker,其目的是讓用戶通過Kubernetes集群來進行雲端容器集群的管理,而無需用戶進行複雜的設置工作。系統會自動選取合適的工作節點來執行具體的容器集群調度處理工作。
推薦二:etcd 【Star:21408】
etcd是由CoreOS開發並維護鍵值存儲系統,它使用Go語言編寫,並通過Raft一致性演算法處理日誌複製以保證強一致性。目前,Google的容器集群管理系統Kubernetes、開源PaaS平台Cloud Foundry和CoreOS的Fleet都廣泛使用了etcd。
推薦三:deis 【Star:6093】
Deis是一個基於Docker和CoreOS的開源PaaS平台,旨在讓部屬和管理伺服器上的應用變得輕鬆容易。它可以運行在AWS、GCE以及Openstack平台下。
推薦四:flynn 【Star:6936】
Flynn是一個使用Go語言編寫的開源PaaS平台,可自動構建部署任何應用到Docker容器集群上運行。Flynn項目受到Y Combinator的支持,目前仍在開發中,被稱為是下一代的開源PaaS平台。
推薦五:lime 【Star:13775】
相對上面的幾款Go語言在雲端和伺服器端之外,Lime則顯得比較特殊。Lime,則是一款用Go語言寫的桌面編輯器程序,被看做是著名編輯器Sublime Text的開源實現。
六:revel 【Star:10508】
Revel是一個高生產力的Go語言Web框架。Revel框架支持熱編譯,當編輯、保存和刷新源碼時,Revel會自動編譯代碼和模板;全棧特性,支持路由、參數解析、緩存、測試、國際化等功能。
golang編寫的項目,使用alpine製作鏡像遇到的一個問題解決
GraphicsMagick,一款高性能的圖片處理工具,由於項目需要,用到它,自然而然用到了關於gm的第三方庫 這個庫按照作者的提示,要安裝GraphicsMagick-devel依賴。
項目寫完了,接下來用alpine做為基礎鏡像,準備製作項目的鏡像。
golang項目,是在ubuntu下編寫的,編譯成二進位文件了,只要把二進位文件放進鏡像里即可,遇到的問題有2個
1 容器跑起來,一直報二進位文件no found
我認認真真的確認了文件,以及它的路徑,確實是存在的,怎麼會報文件找不到呢?!
原來是musl和glibc是兼容的問題,在Dockerfile里要加以下兩步
2 Error loading shared library libGraphicsMagickWand-Q16.so.2: No such file or directory
明明按要求安裝GraphicsMagick-devel依賴,為啥還報這種錯
於是想到了,是不是也要ln做一下軟鏈接呢?於是學著上面的樣子在Dockerfile里補上
再跑,問題依舊,莫非是軟連接的地址寫錯了!回到開發的電腦上用ldd命令查看一下
果然,編譯後的二進位文件依賴路徑是/lib,而不是/lib64
於是,修改Dockerfile里的寫法
問題解決,開心:)
參考資料:
組件分享之後端組件——基於Golang實現的高性能和彈性的流處理器benthos
近期正在探索前端、後端、系統端各類常用組件與工具,對其一些常見的組件進行再次整理一下,形成標準化組件專題,後續該專題將包含各類語言中的一些常用組件。歡迎大家進行持續關注。
本節我們分享的是基於Golang實現的高性能和彈性的流處理器 benthos ,它能夠以各種代理模式連接各種 源 和 接收器,並對有效負載執行 水合、濃縮、轉換和過濾 。
它帶有 強大的映射語言 ,易於部署和監控,並且可以作為靜態二進位文件、docker 映像或 無伺服器函數 放入您的管道,使其成為雲原生。
Benthos 是完全聲明性的,流管道在單個配置文件中定義,允許您指定連接器和處理階段列表:
Apache Pulsar, AWS (DynamoDB, Kinesis, S3, SQS, SNS), Azure (Blob storage, Queue storage, Table storage), Cassandra, Elasticsearch, File, GCP (Pub/Sub, Cloud storage), HDFS, HTTP (server and client, including websockets), Kafka, Memcached, MQTT, Nanomsg, NATS, NATS JetStream, NATS Streaming, NSQ, AMQP 0.91 (RabbitMQ), AMQP 1, Redis (streams, list, pubsub, hashes), MongoDB, SQL (MySQL, PostgreSQL, Clickhouse, MSSQL), Stdin/Stdout, TCP UDP, sockets and ZMQ4.
1、docker安裝
具體使用方式可以參見該 文檔
有關如何配置更高級的流處理概念(例如流連接、擴充工作流等)的指導,請查看 說明書部分。
有關在 Go 中構建您自己的自定義插件的指導,請查看 公共 API。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186997.html