Preface
最近在網上下載並學習了一個golang開發im的完整課程。
完成課程後,做一些思考和總結有利於知識的鞏固與消化。
Contents
以下是對用到的知識,技術細節,個人新的體會等的一些回顧
技術實施
基礎開發語言是golang
數據庫是使用的mysql,用到了xorm來操作mysql
通訊用到了websocket/json
分佈式通訊用的是udpsocket
mysql/xorm
突然發現去年更新的win10可以使用docker,然後將docker安裝在本機,利用docker來跑mysql。
發現xorm真好用啊,不用去寫一堆sql來建表,但是過大的自由度是隨之而來的其他代價,這個需要研究一下。後續也需要研究gorm和xorm的對比。
項目結構
學會了model/controller/service這樣的分層:
- model放數據定義相關的,entity之類的東西
- controller也就是直接的處理器,在web中就放接口api
- service用於操作數據庫查詢,數據處理等邏輯的,更像mvc裏面的m,通過使用model來給controller提供邏輯接口
- 在前後端分離中是不會有view層存在的,view一般都是前端打包好的一堆靜態文件,之後直接放cdn就可以了
分佈式方案
學會了不同的分佈式方案,之前在項目中使用的是通過第三方提供的服務中心【zookeeper】來註冊/發現服務,這個項目裏頭用的的udp來發包,簡單易懂,但是個人還是有一些不理解的地方。
go mod
終於真正的用上了go module,在項目中使用。
對於當前項目子目錄下的package的使用有了新的認識。