
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
【代码】go 进阶 go-zero相关: 四. 服务发现原理。
注意有个v8版本,是有方式上不太一样。1.提供获取锁脚本, 释放锁脚本,
编译命令执行完毕后,会生成一下代码:其中 types/XXX/xxx.pb.go文件与types/XXX/xxx_grpc.pb.go是通过proto生成的,参考grpc“xxx.pb.go”: 内部是编写这个rpc服务时自定义的结构体相关处理“xxx_grpc.pb.go”: 内部是启动这个rpc服务端,启动访问这个rpc客户端的相关代码通过go-zero生成的其中user.proto是用来生成
根据静态非静态这个说法,k8s服务安装时用来运行核心组件的pod称为静态pod, 我们自己通过k8s运行的自己的服务pod称为动态pod。
golang/rate包中,牺牲一点加锁的性能,实时计算产生的令牌数。这种实现的好处: 对令牌的计算可以非常精确。而对比于定时往桶里添加令牌的实现,虽然在请求可以使用原子计算,不上锁实现。但对于令牌的计算来说,是比较不准确的,需要根据定时器的精度来保证。而精度越小,cpu亲缘性问题就越明显。个人觉得虽然加锁的实现,对性能有一部分影响,但是令牌桶都是在计算,所以性能不会有很大的问题,加锁时间不长。
sync.Map是一个支持并发安全的Map键值对映射表,提供了Store(key, value)插入,Load(key)获取,Delete(key)删除,Range()遍历等方法,了解底层首先要了解内部结构,内部包含了read属性,实际在操作时对应的是一个readOnly可以看为一个只读快照表,每个正在读取的 Goroutine 都会持有一个 readOnly 结构体。
Spring refresh方法详解一. refresh() 方法预览二. refresh() 方法中调用的每个方法1. this.prepareRefresh() 激活开启容器2. this.obtainFreshBeanFactory() 获取 bean 工厂3. this.prepareBeanFactory(beanFactory) 对获取到的 beanFactory 做预处理设置4. t
├── etc│ └── core-api.yaml // 配置文件├── go.mod // mod文件├── greet.api // api描述文件├── core.go // main函数入口├── config│ └── config.go // 配置声明type├── handler // 路由及handler转发├── logic // 业务逻辑├── middleware // 中
Hash 类型一. 简单命令示例二. java 操作示例三. 使用场景四. 底层分析一. 简单命令示例Hash 类型,可以简单理解为对应java的Map<String,Map<Object,object>>简单命令使用示例//1.一次设置一个字段值HSET key field value//2.一次获取一个字段值HGET key field//3.一次设置多个字段值HMSE







