golang開發im

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的使用有了新的認識。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章