摘要: 前言 在数字化时代,系统安全与权限管理变得至关重要。无论是企业内部的管理系统、多租户的SaaS平台,还是复杂的云服务架构,如何高效、安全地控制用户访问权限,始终是一个核心挑战。 想象一下,如果公司里的每个员工都能随意访问财务数据、删除核心业务信息,或者普通用户能直接修改管理员配置,那会带来多大的安全 阅读全文
posted @ 2025-07-20 15:14 chenqi1231 阅读(82) 评论(0) 推荐(0)
摘要: 1.概述 在高并发服务中,限流是一种对请求或并发数进行限制的技术手段。当服务资源或处理能力有限时,限流可以对调用服务的上游请求进行限制,或对下游访问进行限制,以防止自身或下游服务因资源耗尽而影响服务。 2.常见限流算法 2.1 固定窗口限流法 在固定时间窗口(单位时间)内限制请求的数量。该算法将时间 阅读全文
posted @ 2025-06-23 01:00 chenqi1231 阅读(70) 评论(0) 推荐(0)
摘要: 前言 context可以理解为一个场景的上下文,类似于一个map,可以往里面存取各种数据。 在 Go 语言中, context 包(全称 golang.org/x/net/context,Go 1.7 后内置为 context)在并发编程和网络服务中至关重要,其核心作用是 管理请求作用域键值对数据 阅读全文
posted @ 2025-06-15 20:59 chenqi1231 阅读(168) 评论(0) 推荐(0)
摘要: 路由 路由有http路由和grpc路由,Hyperf的http路由由 nikic/fast-route 提供支持,并由 hyperf/http-server 组件负责接入到 Hyperf 中,RPC 路由由对应的 hyperf/rpc-server 组件负责 HTTP路由 主要有配置文件和注解两种定 阅读全文
posted @ 2025-05-18 23:18 chenqi1231 阅读(159) 评论(0) 推荐(0)
摘要: FmtSlice2String方法可以将指针切片的值打印处理 package main import ( "fmt" "reflect" ) type Student struct { Name string `json:"name" cn:"名字"` Age uint64 `json:"age" 阅读全文
posted @ 2023-07-28 18:08 chenqi1231 阅读(628) 评论(0) 推荐(0)
摘要: redis中的单个命令是原子操作。 多条命令可以用multi,exec,discard等命令。 1.multi开始执行事务,后面的命令都会放到队列里,暂不执行 2.exec执行,会将队列的命令按顺序执行,失败不回滚 3.discard取消事务。 redis为什么事务失败不会滚: 1.redis的命令 阅读全文
posted @ 2023-05-23 17:22 chenqi1231 阅读(7) 评论(0) 推荐(0)
摘要: 1.查询db.First&user)// SELECT * FROM users ORDER BY id LIMIT 1;db.Take(&user)// SELECT * FROM users LIMIT 1;db.Last(&user)// SELECT * FROM users ORDER B 阅读全文
posted @ 2023-05-03 22:53 chenqi1231 阅读(31) 评论(0) 推荐(0)
摘要: 1.gRPC使用 下面的代码gRPC官网的使用例子 定于proto文件用于服务器和客户端交互的方法,请求参数和返回结果。 syntax = "proto3"; option go_package = "google.golang.org/grpc/examples/helloworld/hellow 阅读全文
posted @ 2023-04-05 23:17 chenqi1231 阅读(83) 评论(0) 推荐(0)
摘要: 1.什么是 RPC ? RPC(Remote Procedure Call)远程过程调用协议是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。在OSI网络通信模型中,RPC跨越了传输层和应用层。简单点来说就是服务器A上的程序调用服务器B上的程序服务(对与微服务来说可能部署在同 阅读全文
posted @ 2023-04-05 22:19 chenqi1231 阅读(180) 评论(0) 推荐(0)
摘要: 1.kratosLog: type Logger interface { Log(level Level, keyvals ...interface{}) error } type logger struct { logger Logger prefix []interface{} hasValue 阅读全文
posted @ 2023-03-23 18:17 chenqi1231 阅读(589) 评论(0) 推荐(0)