grpc gin
如何基于 Gin 封装出属于自己 Web 框架?
思路 在基于 Gin 封装出属于自己的 Web 框架前,你需要先了解 Gin 的基本用法和设计理念。 然后,你可以通过以下步骤来封装自己的 Web 框架: 封装路由:Gin 的路由是通过 HTTP 方法和 URL 路径进行匹配的,你可以根据自己的需求,封装出符合应用的业务需求的路由。你可以考虑将路由 ......
gin学习笔记(二)—— 获取参数和文件上传
获取参数和文件上传 获取参数 url传参 在我们使用网页时,我们有时会看到地址栏上带有 ?后面还跟着一些数据,这就是 url 传参,?后面携带的就是参数。例如:用必应搜索 what is a url,地址栏为 https://cn.bing.com/search?q=what is a url,携带 ......
gin学习笔记(一)—— 了解gin
了解gin Web编程基础 客户端和服务端 HTTP 客户端和服务器之间的请求响应一般都是使用 HTTP/HTTPS 协议,它规定了如何从网站服务器传输超文本到本地浏览器。 HTTP请求 当你在网页上点击一个链接、提交一个表单、或者进行一次搜索的时候,浏览器会发送一个 HTTP 请求给服务器。HTT ......
Go+Gin+xorm+MySql实现增删改查
一、概述 承接上一篇(ps:原生增删改查),本篇使用xorm实现增删改查。 之所以要使用xrom是因为xrom可以极大的缩小操作数据库的成本。 使用rom之前需要导入响应的包 go get github.com/go-xorm/xorm #安装xorm go get xorm.io/core go ......
gin生成结构体数据
1.先声明个最深层结构体 type PictureList struct { Id int `json:id"` Class int `json:class"` Name string `json:name"` Cover_img string `json:cover_img"` Url strin ......
Gin CORS 跨域请求资源共享与中间件
Gin CORS 跨域请求资源共享与中间件 目录Gin CORS 跨域请求资源共享与中间件一、同源策略1.1 什么是浏览器的同源策略?1.2 同源策略判依据1.3 跨域问题三种解决方案二、CORS:跨域资源共享简介(后端技术)三 CORS基本流程1.CORS请求分类2.基本流程四、CORS两种请求详 ......
go的gin框架学习以及初始化---安装篇
1. 编辑器使用 vscode 设置中文,加载go语言相关插件 https://code.visualstudio.com/ 2.下载go运行环境 https://go.dev/dl/ 3.新建项目目录 bin pkg src(项目目录可存放多个项目) 每个项目文件下必须要有 go.mod 文件 4 ......
Go Gin+MySQL实现增删改查
一、概述 使用Gin框架+MySQL数据库实现增删改查(原生sql) 实现步骤: 1.导入Gin框架 go get -u github.com/gin-gonic/gin 2.引入MySQL驱动 go get -u github.com/go-sql-driver/mysql 3.注册Gin路由 / ......
Go 引入Gin框架并实现Get请求
一、概述 学习一下Go语言,主要为了观察一下其语言特性。了解一下其与Java/Kotlin/C/C++/Python其语言的区别 二、搭建步骤 1.使用LiteIDE新建目录并创建一个.go文件 2.引入Gin库 a.创建mod文件,并下载导入gin go mod init go_workspace ......
Gin框架初体验__Goland操作
前提:搭建好Golang环境 首先新建project,Goland会自动生成go.mod文件。 下载并安装Gin框架,并将其添加到你的项目的Go模块中(引入Gin框架依赖至本地) go get -u github.com/gin-gonic/gin 在这一步,我阻碍了将近一个下午|||^_^,由于类 ......
grpc初使用
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc ......
Gin 项目引入热加载
一、什么是热加载 热加载(Hot Reloading)是指在应用程序运行时,对代码进行修改后,系统能够自动重新加载这些修改,而无需停止和重新启动整个应用程序。这使得开发者能够在不中断应用程序运行的情况下进行代码的调试和修改。 热加载的主要目的是提高开发效率,减少开发过程中的重复操作,以便更快地验证和 ......
Gin 路由注册与请求参数获取
Gin 路由注册与请求参数获取 一、Web应用开发的两种模式 1.前后端不分离模式 也叫前后端混合开发模式, 需要后端写模板语言(dtl), 返回的是HTML页面 浏览器 : 请求动态页面 后端 : 返回HTML 优点:可以直接渲染页面, 方便处理请求数据 缺点:耦合度非常高, 不方便扩展 2.前后 ......
Gin 框架介绍与快速入门
Gin 框架介绍与快速入门 目录Gin 框架介绍与快速入门一、Gin框架介绍1. 快速和轻量级2. 路由和中间件3. JSON解析4. 支持插件5. Gin相关文档二、基本使用1.安装2.导入3.第一个Gin 应用三、应用举例四、Gin 入门核心1.gin.Engine2.gin.Context 一 ......
API架构大全(SOAP、Restful、GraphQL、Grpc、Websocket)
一、SOAP SOAP是一种基于XML的简单对象访问协议,适合企业应用 二、Restful Restful基于HTTP应用,提供简介和可靠的网络通信 三、GraphQL GraphQL是一种用于构建和查询API的语言,用来请求特定数据应用,减少多次请求的网络开销,响应速度快 四、Grpc Grpc是 ......
Locust对gRPC协议进行压测
使用Locust对gRPC协议进行压测是一个挑战性的任务,因为Locust原生支持的是HTTP/HTTPS协议。不过,通过扩展Locust的功能,可以实现对gRPC接口的压测。以下是实现这一目标的基本步骤: ### 1. 安装必要的库首先,您需要安装Locust和gRPC相关的Python库: pi ......
grpc是基于http/2协议的高性能的rpc框架
师傅领进门,修行在个人,跟着官方脚手架demo了grpc后,之后就需要扩展前后知识边界,下面总结grpc的前世今生和最佳实践。 https://www.cnblogs.com/JulianHuang/p/14441952.html grpc是基于http/2协议的高性能的rpc框架 为什么已经有ht ......
【dotnet】啥?这家伙写gRpc 居然没有pb文件
使用 .NET 的代码优先 gRPC 服务和客户端 当整个系统使用 .NET 时,代码优先是一个不错的选择: 可以在 .NET 服务器和客户端之间共享 .NET 服务和数据协定类型。 无需在 .proto 文件和代码生成过程中定义协定。 不建议在具有多种语言的 polyglot 系统中使用代码优先。 ......
gRPC .proto文件解析
.proto文件解析 书接上回,创建了hello_grpc.proto文件后对其中参数进行解释,还是以上次的代码为案例 syntax = "proto3"; option go_package="./;hello_grpc"; package hello_grpc; message Req { st ......
Gin中使用jwt-go实现JWT鉴权登陆
在Go语言中,JWT(JSON Web Token)鉴权可以使用第三方库来实现,比如jwt-go。 库的介绍和使用可见文档:jwt package - github.com/golang-jwt/jwt/v5 - Go Packages 创建JWT令牌 在服务器中,我们可以使用以下代码创建JWT令牌 ......
Grpc的内部原理、优缺点
gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。gRPC 默认使用protocol buffers,这是Google开源的一套成熟的结构数据序列化机制(也可使用其他数据格式如JSON) 基于go的一种远程过程调用,RPC 框架的目标就是让远程服务调用更加简单、透明 ......
php 在laravel中集成grpc
在laravel中集成使用grpc 一、安装: 1、macOS php扩展:pecl install grpc,pecl install protobuf protocbuf:brew install protobuf etcd:brew install etcd 2、ubuntu: php扩展: ......
gin 中间件流程控制:Next()、 Abort()
Next() 源码注释:Next应该只在中间件内部使用。它执行调用处理程序内部链中的挂起处理程序。 通俗的说,就是中间件放行,当一个中间件代码执行到Next(),会先执行它之后的函数,最后再来执行完本函数。 package main import ( "fmt" "github.com/gin-go ......
gin框架是如何处理panic
保护gin构建的web app不panic的方式,简单来说: 1)主程中的panic本身是会被gin拦截的2)协程中的panic需要手动使用defer和recover进行保护 情景在用gin构建项目,运行web app并上线了之后,或许有一些请求会经过业务,在特定的情况下出发会触发golang中的p ......
11道Gin基础高频题整理(附答案背诵版)
Gin框架如何文件上传 ? Gin框架中实现文件上传的基本步骤可以分为以下几个部分: 设置路由:首先,在Gin框架中,你需要为文件上传功能设置一个路由。这个路由会指向一个处理函数,用于处理上传的文件。 router := gin.Default() router.POST("/upload", up ......
go gin 基于令牌桶实现的接口限流
令牌桶实现接口限流 简单有效. 但是不一定对得上我现在需要使用的业务. 新建 main.go package main import ( "github.com/gin-gonic/gin" "sync" "time" ) // 令牌桶demo func main() { r := gin.Defa ......
何时使用GraphQL、gRPC 和 REST
何时使用GraphQL、gRPC 和 REST 在设计应用程序时,开发人员可以从各种客户端-服务器通信协议中进行选择。使用 GraphQL、gRPC 和 REST 在当代项目中相对常见。每种协议都可以提供各种优势,具体取决于您的应用需求。 一.GraphQL 是一种灵活的数据请求方法,它专注于特定请 ......
grpc使用nginx代理配置
参考:https://www.nginx.com/blog/nginx-1-13-10-grpc/ 重点是标记红色的部分 http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $ ......
【Python小随笔】 Grpc协议的使用
定义接口 // test.proto syntax = "proto3"; option cc_generic_services = true; service Greeter { // 第一个接口 rpc One(OneRequest) returns (OneResponse) {} // 第二 ......