[TOC]gRPC认证我们再来回顾一下gRPC的基本结构gRPC 是一个典型的C/S模型,需要开发客户端 和 服务端,客户端与服务端需要达成协议,使用某一个确认的传输协议来传输数据,gRPC通常默认是使用protobuf来作为传输协议,当然也是可以使用其他自定义的。那么,客户端与服务端要通信之前,客户端如何知道自己的数据是发给哪一个明确的服务端呢?反过来,服 ......
428
0
0
2022-04-18
前言群里老有同学问,go-zero 的 数据库 和 redis 库是否有连接池支持。先说结论:有的,可以放心大胆用!从框架设计来说,对于数据库连接这种资源当然是尽可能减少频繁操作:为业务减负提升框架自身的性能池化技术是一个通用化技术,本身就应该作为一个通用库支撑框架的上层业务所以不管是 sqlx,redis,以及 mongo,等以后可能要支持的数据源类型,底 ......
336
0
0
2022-04-18
平时开发过程中,时间相关的操作用的还是很多的。接下来就与大家一起总结下与时间有关的操作,主要涉及到 time 包,核心数据结构是 time.Time,如下:type Time struct { wall uint64 ext int64 loc *Location } 00 获取时间相关函数0.获取当前时间// 返回当前时 ......
403
0
0
2022-04-18
知识点1、mux.router 静态资源访问 r.PathPrefix("/js/").Handler(http.FileServer(http.Dir("./public"))) PathPrefix() 匹配参数里 /css/ 前缀的 URI , 链式调用 Handler() 指定处理器为 http.FileServer()。http.FileServ ......
366
0
0
2022-04-18
文章持续更新,微信搜一搜「 吴亲强的深夜食堂 」业务场景在做任务开发的时候,你们一定会碰到以下场景:场景1:调用第三方接口的时候, 一个需求你需要调用不同的接口,做数据组装。场景2:一个应用首页可能依托于很多服务。那就涉及到在加载页面时需要同时请求多个服务的接口。这一步往往是由后端统一调用组装数据再返回给前端,也就是所谓的 BFF(Backend For F ......
830
0
0
2022-04-17
[TOC]gRPCgRPC介绍gRPC是什么?RPC和RESTful的区别是什么?RPC的消息传输可以是TCP,可以是UDP,也可以是HTTP,当RPC消息传输是HTTP时,它的结构与RESTful的架构类似RPC和RESTful有什么不同呢:操作的对象不一样的,RESTful会更加灵活RPC操作的是方法对象, RESTful操作的是资源RPC的客户端和服务 ......
549
0
0
2022-04-16
起源最近在使用 Go 二刷 LeetCode第一题,两数之和。解题时使用遍历求解,偶然发现使用 for 和 range的 beats不一致,本着深入研究(啥也不懂)的精神,就想对比下两者的性能如何。本文参考极客兔兔大佬的原创探索既然要对比,那就使用数据说话。GO test 命令不但可以做单元测试,还支持 bench 进行性能对比。具体操作自行研究,本文就不做 ......
380
0
0
2022-04-16
GORM功能大全全功能 ORM关联 (Has One,Has Many,Belongs To,Many To Many,多态,单表继承)Create,Save,Update,Delete,Find 中钩子方法支持 Preload、Joins 的预加载事务,嵌套事务,Save Point,Rollback To Saved PointContext,预编译模式 ......
381
0
0
2022-04-16
Golang 通用后台权限管理系统 (Go-Funny-CMS )线上地址演示https://admin-go.surest.cn 账号: surest 密码: 123456 预览项目地址前端项目: github.com/Lets-Go-together/go-fun...后端项目: github.com/Lets-Go-together/go-fun ......
549
0
0
2022-04-16
超超艰难的回答完了面试官关于GMP相关问题,下面进入到了单例相关问题。单例虽然简单,但是面试官也是层层深入,让超超满头大汗,下面来看看单例面试官都问了些什么吧。认识单例面试官:你知道mac中的回收站只能单开,但是访达窗口可以多开吧?考点:单例的使用场景优缺点超超:知道呀,这应该是单例模式。我们日常工作中并没有使用俩个废纸篓的必要性,且废纸篓之间的资源是共享, ......
445
0
0
2022-04-16
知识点1、测试知名的第三方测试包 github.com/stretchr/testify/assert1.1 测试文件标识:后缀名 _test 告知 Go 编译器和工具链这是一个测试文件 Go 编译器在编译时会跳过这些文件1.2 cmd 运行(项目目录下)go test ./测试文件目录-v 显示详细信息-count=1 测试的次数,官方推荐的清除缓存的方式 ......
414
0
0
2022-04-15
安装这里因为各个环境不一致,咱们直接使用docker来生成安装docker镜像docker pull uber/prototool Dockerhub: registry.hub.docker.com/r/uber/pro...Github: github.com/uber/prototool定义prototool.yaml配置(docker容器运行配置) ......
472
0
0
2022-04-15
前言缓存,设计的初衷是为了减少繁重的IO操作,增加系统并发能力。不管是 CPU多级缓存,page cache,还是我们业务中熟悉的 redis 缓存,本质都是将有限的热点数据存储在一个存取更快的存储介质中。计算机本身的缓存设计就是 CPU 采取多级缓存。那对我们服务来说,我们是不是也可以采用这种多级缓存的方式来组织我们的缓存数据。同时 redis 的存取都会 ......
443
0
0
2022-04-15
起因追根接地为了涨工资此笔记只为工作学习总结、如有疑问可以留言沟通、交流学习grpc介绍基于http2.0协议的rpc框架多语言支持基于Protobuf定义服务PHP 使用需安装扩展protobuf介绍与XML和JSON格式相比,protobuf更小、更快、更便捷、传输性能高多语言支持使用protobuf的工具Protoc时需要安装PHP的扩展包总结对于PH ......
420
0
0
2022-04-14
知识点1、数据库驱动1.1 基础Go 官方提供的 database/sql 包封装的一个数据库操作对象,包含了操作数据库的基本方法,是 接口和规范理解:驱动都是database/sql的数据库驱动具体实现,类似laravel的门面。至于 gorm 是对实现的封装、提供更多便捷,常用的数据库操作方法1.2 初始化 sql.DBvar db *sql.DB . ......
482
0
0
2022-04-14