摘要:问题的原因是显示器同ChromiumWebBrowser的分辨率不一致,可在初始化时调用 EnableHighDPISupport 来解决: // 初始化配置 CefSettings settings = new CefSettings(); Cef.Initialize(settings); Ce
阅读全文
摘要:创建一个 gateway 示例: // main.go package main import ( "flag" "fmt" "gateway/middleware" "github.com/zeromicro/go-zero/core/conf" "github.com/zeromicro/go-
阅读全文
摘要:. ├── code-of-conduct.md 行为准则 ├── CONTRIBUTING.md 贡献指南 ├── core 框架的核心组件 │ ├── bloom 布隆过滤器,用于检测一个元素是否在一个集合中 │ ├── breaker 熔断器,用于防止过多的请求导致系统崩溃 │ ├── cmd
阅读全文
摘要:go-zero 的网关服务实际是个 go-zero 的 API 服务,也就是一个 http 服务,或者说 rest 服务。http 转 grpc 使用了开源的 grpcurl 库,当网关需要往 rpc 服务传递额外的数据,比如鉴权数据的时候,通过 http 的 header 进行: func Aut
阅读全文
摘要:go-zero 的网关往 rpc 服务传递数据时,可以使用 headers,但需要注意前缀规则,否则会发现数据传递不过去,或者对方取不到数据。 go-zero 的网关对服务的调用使用了第三方库 grpcurl,入口函数为 InvokeRPC: grpcurl.InvokeRPC(r.Context(
阅读全文
摘要:本文是go-zero开发入门-API网关开发示例一文的延伸,继续之前请先阅读此文。 在项目根目录下创建子目录 middleware,在此目录下创建文件 auth.go,内容如下: // 鉴权中间件 package middleware import ( "context" "errors" "net
阅读全文
摘要:接口定义 定义 API 接口文件 接口文件 add.api 的内容如下: syntax = "v1" info ( title: "API 接口文件示例" desc: "演示如何编写 API 接口文件" author: "一见" date: "2023年12月07日" version: "v1" )
阅读全文
摘要:开发一个 API 网关,代理 https://www.cnblogs.com/aquester/p/17882070.html 中的 RPC 服务。 网关完整源代码 // file: main.go package main import ( "flag" "fmt" "github.com/zer
阅读全文
摘要:实现代码在 core/discov/config.go 文件中: type EtcdConf struct { Hosts []string Key string ID int64 `json:",optional"` User string `json:",optional"` Pass stri
阅读全文
摘要:执行 go mod tidy 时,遇到如下错误: rpc imports github.com/zeromicro/go-zero/zrpc imports github.com/zeromicro/go-zero/zrpc/resolver imports github.com/zeromicro
阅读全文
摘要:定义 RPC 接口文件 接口文件 add.proto 的内容如下: syntax = "proto3"; package add; // 当 protoc-gen-go 版本大于 1.4.0 时需加上 go_package,否则编译报错“unable to determine Go import p
阅读全文
摘要:本文只涉及 Linux 上的安装。 二进制安装 下载二进制安装包 #ETCD_VER=v3.4.28 ETCD_VER=v3.5.10 DOWNLOAD_URL=https://github.com/etcd-io/etcd/releases/download INSTALL_DIR=/tmp rm
阅读全文
摘要:安装 goctl go 版本在 1.16 及以后执行: GO111MODULE=on&&go install github.com/zeromicro/go-zero/tools/goctl@latest go 版本在 1.16 之前执行: GO111MODULE=on&&go get -u git
阅读全文