- 博客(11)
- 收藏
- 关注
原创 gorm常见问题
expected 1 arguments, got 3dao层的sql没写对,可能只写了参数 没写 = ?2.postman里没有对应的字段,但是实际上读取了resp里没给标明jsonsql错误经典少写了?或则?那里写错了4.resp看不到字段这个字段要大写5.如果查询结果为空,那么 对象是& ==nil
2023-05-29 16:47:00
255
原创 Go语言八股
G中有一个比较特殊的,比如是main函数生成的协程,如果它退出的时候,它的子协程是会退出的;但是它的子协程的子协程,是不会退出的,main的孙子协程对main协程是没有感知的,同时main协程对于它的孙子协程也没用感知;P有两个队列,一个是本地队列,一个是全局队列,本地队列是这个P单独享用的,全局队列是所有的P来享用的;操作系统的内核线程,一般一个M和一个P绑定,如果M陷入了休眠,那么P会从这个M上剥离,去一个空闲的M上或则新建一个M,因此程序的M>=P。早期的垃圾回收是基于标记清理法,会有大量的stw;
2023-05-14 22:42:05
525
原创 限流+sentienl
每秒的访问的QPS固定,如用redis+时间戳的方式线程获得当前时间作为key,然后对key进行++,如果value>qps,则限流生产环境中不会采用这个方式,因为粒度太粗了,比如我某个接口的QPS限流为10,但是我在1.5S和2.5S的请求数为6和7,难么实际上的QPS是>10的滑动窗口分为长窗口和短窗口长窗口比如10S内qps100,但是无法抵御脉冲流量,比如1s的时候50qps,但是能让流量无损。
2023-05-05 00:04:17
104
原创 go-zero
值得注意的是,go-zero的分组机制不是很好,所以每次分组的时候,需要重写一个@server和service。每一个微服务起一个文件夹,每一个文件夹里包含api,model,rpc等等文件夹。先定义req和resp,再定义@service,最后定义 service。已经生成过的,再次执行不会重新执行;后来新增的内容可以执行。service是注册路由和定义请求方法的地方。@service是注册中间件和前缀的地方。conf里读取yaml文件的配置。logic层写业务逻辑。logic层写业务逻辑。
2023-05-04 18:54:56
326
1
原创 kafka
首先保证同一个topic下的同一个分区的写入是顺序的,其余的情况都是无序的;分区,一个主题下有不同的分布,一个消费者组里的消费者只能消费一个分区里的内容,一个消费者组里的不同消费者可以消费同一个主题下不同分区的内容,同一个分区里的的内容是有序的,而不同分区的消息是无序的。一个主题的同一个分区里的leader和follower在不同的broker上,宕机了可以通过选举机制恢复,follower可以理解为一种特殊的消费者来消费leader的内容。KFK的重启以及消费挂掉,会涉及到幂等问题;
2023-05-03 19:04:26
307
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人