框架总结 | 青训营笔记

102 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天 今天主要是坐车回家,然后学习了一下一些项目框架,了解一些框架的使用

GORM

在一番查找资料和考虑下,我们项目使用的是GORM作为操作数据库的框架,他提供的简单API操作对新手还是比较友好的,可以很简单的进行创建、查询、更新、删除操作,而且可以自动处理数据库表和结构体之间的映射关系,可以很简单的和MySQL进行整合 基本步骤:

  • 安装的话使用go get就行了
  • 创建数据库连接,使用gorm.open
  • 创建结构体并定义映射关系
  • 增删改查:Create Save Delete Find
package main

import (
    "fmt"
    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/mysql"
)

type User struct {
    gorm.Model
    Name string
    Age  int
}

func main() {
    db, err := gorm.Open("mysql", "root:root@/test?charset=utf8&parseTime=True&loc=Local")
    if err != nil {
        panic(err)
    }
    defer db.Close()

    db.Auto

关于First的一些记录

  • First 方法会返回第一条记录,如果没有找到记录则返回 nil。
  • 使用Fist时,需要注意查询不到数据会返回ErrRecordNotFound。使用Find查询多条数据,查询不到数据不会返回错误。

Kitex框架

这个我也是第一次听说,是基于Kotlin语言开发的微服务框架,提供了一套简单易用的API。其实思路和学习Java时候的是一样的啦

  • 基于Netty实现的高性能网络通信
  • 支持HTTP、GRPC、TCP等多种协议
  • 提供了轻量级的路由和请求调度组件
  • 支持自动注册和发现服务

RPC的概念

通信协议,允许一台计算机的程序调用另外一台计算机的程序,而开发者并不用去考虑网络细节,可以不用像之前一样去写一个HTTP请求 RPC工作流程:

  • 客户端程序发送一个请求给服务端程序,请求调用远程程序。
  • 服务端程序接收到请求后,执行请求的远程程序。
  • 服务端程序执行完远程程序后,将结果返回给客户端程序。

RPC的优点:

  • 简化网络编程,使得程序员可以像调用本地程序一样调用远程程序。
  • 增加系统的可重用性,使得程序员可以利用现有程序来构建新系统。
  • 提高系统的可扩展性,使得新硬件或新程序可以轻松地加入系统中。