原创 go自帶的rpc包

包:net/rpc 1、基於tcp且使用socket,所以必須創建socket服務端 l, err := net.Listen("tcp",":8080") 2、創建一個struct,基本規則如下: 方法可導出(首字母大寫);

原创 Gin框架速學:簡單Dao層代碼封裝、使用中間件模擬"用戶認證"

簡單的Dao層代碼封裝 創建dao/bbsDao.go文件,裏面代碼如下: package dao import ( "github.com/gin-gonic/gin" ) //獲取某一帖子詳細 func GetBBSDe

原创 Gin框架速學:內置驗證器的初步使用

準備 1、創建model/NewsModel.go文件: package model //新聞模型定義 type NewsModel struct { //新聞id Id int `json:"id"` //新聞標題 T

原创 Gorm入手、執行原始SQL

1、安裝 //安裝mysql驅動 go get -u github.com/go-sql-driver/mysql //安裝gorm庫 go get -u github.com/jinzhu/gorm 2、連接mysql pac

原创 模擬分表查詢:多數據集合並

https://blog.csdn.net/github_26672553/article/details/100047058 之前我們把select * from users硬生生的替換成了select * from (sele

原创 Gin框架速學:開發環境、最簡單的服務啓動

官網地址: https://github.com/gin-gonic/gin 準備: 1、在任意路徑下(不要有中文)創建api.go.com/live 2、cd到api.go.com/live go mod init live.g

原创 sql解析:獲取Select字段

https://blog.csdn.net/github_26672553/article/details/100048506 前面已經瞭解這個解析sql的第三方庫,繼續深入學習。 比如我們要獲取到select查詢語句中的字段id

原创 Gin框架速學:API的URL規則設計、帶參數的路由

比如我們要這樣的路由地址 /v1/bbs?user=zhangsan /v1/bbs/12 gin框架實現代碼如下: router.GET("/v1/bbs", func(context *gin.Context) { i

原创 gorm:結合Model進行數據映射

0、有這樣一張表 CREATE TABLE `news_category` ( `category_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `category_name`

原创 創建一個最簡單的mysql代理

先介紹一個開源第三方庫 關於go module 環境: export GO111MODULE=on export GOPROXY=https://goproxy.io/ 在go module 環境下 go get -u gith

原创 簡易http服務健康檢查:http服務定時檢查、修改狀態

比如我們有3個節點:9091、9092和9093。 要是其中一個宕機了,就不能作爲負載均衡的節點選項了。所以需要對其健康進行檢查(也就是檢查是否宕機了) 基本機制(簡易) 1、定義發送http請求,並根據接口響應碼和響應時間判斷

原创 簡易FailOver機制: 普通輪詢算法下的計數器機制(上)

https://blog.csdn.net/github_26672553/article/details/99764970 在上面實現了簡單服務器健康檢查機制。設置服務狀態爲up或down。 之前說了,不能一次檢查沒有通過就設爲

原创 負載均衡算法之加權隨機算法的簡單實現

1、我們在前面寫過“隨機算法”來實現簡單的負載均衡。 https://blog.csdn.net/github_26672553/article/details/99701928 用過nginx配置負載均衡,可能會寫過類似這樣的配

原创 go的包依賴管理(1): go.mod文件、簡單使用

隨便cd到一個目錄(英文路徑)下執行: go mod init mytest 然後用編輯器打開這個目錄。可以看到一個go.mod文件。 然後創建core/functions.go文件,代碼如下: package core i

原创 隨機算法 實現 負載均衡

需求: 實現一個最簡單的負載均衡(均衡算法採用隨機算法)。 具體實現:前端用戶訪問localhost:8080,通過反向代理隨機分配到localhost:9091或lcalhost:9092。 1、確保啓動這2個(或多個)9091