Kratos是一个Go语言实现的微服务框架,说得更准确一点,它更类似于一个使用Go构建微服务的工具箱,开发者可以按照自己的习惯选用或定制其中的组件,来打造自己的微服务。 kr...
Kratos是一个Go语言实现的微服务框架,说得更准确一点,它更类似于一个使用Go构建微服务的工具箱,开发者可以按照自己的习惯选用或定制其中的组件,来打造自己的微服务。 kr...
在一个大的系统中,多个子系统(服务)间必然存在数据传递,有数据传递就需要通信方式,你可以选择最简单的http进行通信,也可以选择rpc服务进行通信, 在go-zero,我们使...
Go-zero框架 go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go, iOS, Android, Kotlin, ...
远程调用 我们的业务逻辑通常会依赖其他微服务,需要通过RPC调用其他微服务。go-kit 提供传输中间件来解决出现的许多问题。 现在,假设addService服务需要调用另外...
使用 Go kit 构建的服务分为三层: 传输层(Transport layer) 端点层(Endpoint layer) 服务层(Service layer) 请求在第1层...
接下来将结合gateway,grpc和数据库写一个简单的例子。 首先创建数据库操作 在GetBookListByShelfID中我们使用游标进行分页处理。 接下来我们了解一下...
Protocol Buffers 是 gRPC 的默认通信协议,gRPC 是一个基于 Protobuf 实现的远程通信框架。它们不是一样的,但紧密结合在一起使用。 gRPC开...
Golang + Redis(使用 go-redis 库)实现帖子的点赞计数; 创建一个帖子,帖子 创建一个Community 接着注册路由 首先我们从创建帖子开始v1.PO...
流行的 Web 框架大多数是 MVC 框架,为了能够对 GUI 类型的应用进行方便扩展,将程序划分为:控制器(Controller):负责转发请求,对请求进行处理。视图(Vi...
脚手架 加载配置 初始化日志 加载mysql 加载redis 注册路由 启动服务 1. 加载配置 我们使用viper库进行配置加载首先写一个配置文件,定义端口号,日志信息等各...
使用Viper配置参数 Viper是适用于Go应用程序(包括Twelve-Factor App)的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需...
Bluebell Go Logger的优势和劣势 优势 它最大的优点是使用非常简单。我们可以设置任何io.Writer作为日志记录输出并向其发送要写入的日志。 劣势 仅限基本...
Go 语言依赖注入(Dependency Injection)实践指南 本文通过一个简单的“通知服务”示例,逐步演示如何在 Go 中实现依赖注入(DI),并讲解其作用与好处。...
测试写法 使用测试环境三步: 程序需要在一个名为 xxx_test.go 的文件中编写 测试函数的命名必须以单词 Test 开始,必须为TestXxx 测试函数只接受一个参数...
思路 首先需要确定能否使用二分。对于二分问题而言,二分答案需要保持单调性,但数组并不一定需要保持单调性。 第二步确定问题需要定位的位置,例如寻找第一个大于等于target的位...
3132. 找出与数组相加的整数 II[https://leetcode.cn/problems/find-the-integer-added-to-array-ii/] 解...
3121. 统计特殊字母的数量 II[https://leetcode.cn/problems/count-the-number-of-special-characters-...
左连接 MySQL的左连接(Left Join)是一种数据库查询操作,用于从两个或多个表中检索数据,返回左边表(左表)中的所有行,以及满足连接条件的右边表(右表)中的匹配行。...
此专题是因为自己在刷题时老是对string利用不当,特地整理 string 以下内容来自gpt在 Go 语言中,字符串(string)是一个包含了一系列字符(Unicode码...