wilson_go
码龄7年
  • 1,116,852
    被访问
  • 616
    原创
  • 1,009
    排名
  • 154
    粉丝
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2015-08-10
博客简介:

qq_30505673的博客

查看详细资料
  • 5
    领奖
    总分 1,711 当月 41
个人成就
  • 获得253次点赞
  • 内容获得106次评论
  • 获得704次收藏
创作历程
  • 22篇
    2022年
  • 36篇
    2021年
  • 30篇
    2020年
  • 134篇
    2019年
  • 416篇
    2018年
成就勋章
TA的专栏
  • kafka
    8篇
  • C++
    5篇
  • go语言
    48篇
  • 比特币
    1篇
  • 11
  • 图像
    1篇
  • 区块链超级账本
  • 超级账本
  • golang
    133篇
  • 区块链
    89篇
  • 软件安装
    17篇
  • centos系统
    1篇
  • 密码学
    32篇
  • 命令
    4篇
  • 软件介绍
    23篇
  • 以太坊
    30篇
  • 超级账本
    44篇
  • 框架
    3篇
  • 实用工具
    121篇
  • 代码示例
    2篇
  • 实用技术
    60篇
  • Linux
    9篇
  • docker
    16篇
  • 算法
    22篇
  • go语言MySQL
    5篇
  • 前端
    16篇
  • 爬虫
    4篇
  • beego
    20篇
  • 数据库
    8篇
  • spark
    4篇
  • python
    8篇
  • nodejs
    8篇
  • react
    10篇
  • 项目管理
    2篇
  • truffle
    4篇
  • web3
    2篇
  • webpack
    1篇
  • 机器学习
    8篇
  • 设计模式
    2篇
  • 数据结构
    5篇
  • 微服务
    8篇
  • mongdb
    13篇
  • elasticsearch
    9篇
  • ActiveMQ
    2篇
  • 大数据
    1篇
  • MySQL
    3篇
  • 推荐网站
    2篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

go的cancel

go的cancel是高并发的。
原创
发布博客 2022.08.09 ·
53 阅读 ·
0 点赞 ·
0 评论

Kafka重要特性---幂等性

幂等性数学概念f(f(x)) = f(x) 。f函数表示对消息的处理。比如,银行转账,如果失败,需要重试。不管重试多少次,都要保证最终结果⼀定是⼀致的。保证在消息重发的时候,消费者不会重复处理。即使在消费者收到重复消息的时候,重复处理,也要保证最终结果的⼀致性。为啥需要幂等性问题Producer在生产发送消息时,难免会重复发送消息。Producer进行retry时会产生重试机制,发生消息重复发送。而引入幂等性后,重复发送只会生成一条有效的消息。Kafka作为分布式消息系统,它的使用场景常见与分布式系统
原创
发布博客 2022.08.06 ·
26 阅读 ·
0 点赞 ·
0 评论

kafka的epoch

Leaderepoch(1,120)说明这个leader的版本号为1,版本的起始位置是第120条消息开始的KafkaBroker会在内存中为每个分区都缓存LeaderEpoch数据,同时它还会定期地将这些信息持久化到一个checkpoint文件中。当Leader副本写入消息到磁盘时,Broker会尝试更新这部分缓存。这样,每次有Leader变更时,新的Leader副本会查询这部分缓存,取出对应的LeaderEpoch的起始位移,以避免数据丢失和不一致的情况。...
原创
发布博客 2022.07.31 ·
236 阅读 ·
0 点赞 ·
0 评论

tcp框架需要解决的问题

不能让goroutine无限扩张,固定数目,处理。worker从消息队列从消费消息,处理。处理消息,利用用户注册的回调函数,处理完结束。根据客户端消息的类型,分配messageID,根据messageID识别消息,绑定回调函数,调用相应的函数处理。当把数据处理完,发送到消息队列中,如发送到第五个消息队列5worker5读到消息,worker去apis中找。7、自动启动固定数目的workergoroutine进行消息的处理,避免goroutine的无线扩张。2、自动封包,解包,解决TCP粘包问题。...
原创
发布博客 2022.07.23 ·
383 阅读 ·
0 点赞 ·
0 评论

kafka的再均衡策略

Rebalance本质上是一种协议,规定了一个Consumer Group下的所有Consumer如何达成一致,来分配订阅Topic的每个分区。例如:某个Group下有20个Consumer实例,它订阅了一个有100个分区的Topic。正常情况下,kafka会给每个实例分配5个分区。这个分配的过程叫做Rebalance。  rebalance发生时,Group下的所有Consumer实例都会协调在一起共同参与。具体怎么分配,是有分配策略协助的。分配策略以后再总结。组成员数发生变化。比如有实例进入或者离开组
原创
发布博客 2022.06.26 ·
154 阅读 ·
0 点赞 ·
0 评论

kafka 高水位

kafka中HW(High Watermark)有两个作用位移值小于高水位的是已提交消息,可被消费者消费,大于等于高水位的消息,属于未提交消息,不可被消费者消费Log End Offset 日志末端位移,LEO是表示副本写入下一条消息的位移,介于高水位和LEO之间的消息就是未提交消息,所以同一个副本中,高水位是不会超过LEO的Kafka 使用 Leader 副本的高水位来定义所在分区的高水位。换句话说,分区的高水位就是其Leader 副本的高水位Broker 0 上保存了某分区的 Leader 副本和所
原创
发布博客 2022.06.23 ·
265 阅读 ·
0 点赞 ·
0 评论

kafka的ack原理

Kafka的ack机制,指的是producer的消息发送确认机制,这直接影响到Kafka集群的吞吐量和消息可靠性。而吞吐量和可靠性就像硬币的两面,两者不可兼得,只能平衡。acks有3个值可选 0、1和-1(或者all),默认值为1,值为字符串类型,不是整数类型...
原创
发布博客 2022.06.22 ·
176 阅读 ·
0 点赞 ·
0 评论

区块链—比特币01

如何加入区块链
原创
发布博客 2022.06.17 ·
721 阅读 ·
0 点赞 ·
1 评论

encoding包

package encodingimport "encoding"encoding包定义了供其它包使用的可以将数据在字节水平和文本表示之间转换的接口。encoding/gob、encoding/json、encoding/xml三个包都会检查使用这些接口。因此,只要实现了这些接口一次,就可以在多个包里使用。标准包内建类型time.Time和net.IP都实现了这些接口。接口是成对的,分别产生和还原编码后的数据。Index返回首页type BinaryMarshalertype BinaryUn
原创
发布博客 2022.05.21 ·
132 阅读 ·
0 点赞 ·
0 评论

crypto包

package cryptoimport "crypto"crypto包搜集了常用的密码(算法)常量。Index返回首页type PublicKeytype PrivateKeytype Hashfunc (h Hash) Available() boolfunc (h Hash) Size() intfunc (h Hash) New() hash.Hashfunc RegisterHash(h Hash, f func() hash.Hash)type PublicKeyty
原创
发布博客 2022.05.21 ·
178 阅读 ·
0 点赞 ·
0 评论

golang中net包

package netimport "net"net包提供了可移植的网络I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket。虽然本包提供了对网络原语的访问,大部分使用者只需要Dial、Listen和Accept函数提供的基本接口;以及相关的Conn和Listener接口。crypto/tls包提供了相同的接口和类似的Dial和Listen函数。Dial函数和服务端建立连接:conn, err := net.Dial("tcp", "google.com:80")if err
原创
发布博客 2022.05.19 ·
190 阅读 ·
0 点赞 ·
0 评论

runtime包

package runtimeimport "runtime"runtime包提供和go运行时环境的互操作,如控制go程的函数。它也包括用于reflect包的低层次类型信息;参见reflect报的文档获取运行时类型系统的可编程接口。Environment Variables下面的环境变量($name或%name%,这依赖于主机的操作系统)控制go程序的运行时行为。它们的含义和用法可能在各发行版之间改变。环境变量GOGC设置最初的垃圾收集目标百分比。当新申请的数据和前次垃圾收集剩下的存活数据的
原创
发布博客 2022.05.18 ·
186 阅读 ·
0 点赞 ·
0 评论

unsafe包

package unsafeimport “unsafe”unsafe包提供了一些跳过go语言类型安全限制的操作。Index返回首页type ArbitraryTypetype Pointerfunc Sizeof(v ArbitraryType) uintptrfunc Alignof(v ArbitraryType) uintptrfunc Offsetof(v ArbitraryType) uintptrtype ArbitraryTypetype ArbitraryType i
原创
发布博客 2022.05.17 ·
37 阅读 ·
0 点赞 ·
0 评论

binary包

binary包实现了简单的数字与字节序列的转换以及变长值的编解码。数字翻译为定长值来读写,一个定长值,要么是固定长度的数字类型(int8, uint8, int16, float32, complex64, …)或者只包含定长值的结构体或者数组。变长值是使用一到多个字节编码整数的方法,绝对值较小的数字会占用较少的字节数。详情请参见:http://code.google.com/apis/protocolbuffers/docs/encoding.html。本包相对于效率更注重简单。如果需要高效的序列化
原创
发布博客 2022.05.16 ·
92 阅读 ·
0 点赞 ·
0 评论

go单元测试

1.单元测试是什么单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类、超类、抽象类等中的方法。单元测试就是软件开发中对最小单位进行正确性检验的测试工作。不同地方对单元测试有的定义可能会有所不同,但有一些基本共识:单元测试是比较底层的,关注代码的局部而不是整体。单元测试是开发人员在写代码时候写的。单元测试需要比其他测试运行得快。2. 单元测试的意义提高代码质量。代码测试都是为了帮助开发人员发现问题从而解决问题,提高代码质量
原创
发布博客 2022.04.03 ·
93 阅读 ·
0 点赞 ·
0 评论

C++string类写时拷贝

string类内存分配的概念:string类中必有一个私有成员(char*),用户记录从堆上分配内存的地址,其在构造时分配内存,在析构时释放内存;string类在返回这块内存地址时,只返回const char*,也就是只读的,如果你要写,你只能通过string提供的方法进行数据的改写。在string类中,要实现写时才拷贝,需要解决两个问题,一个是内存共享,一个是Copy-On-Wirte(COW)。1、什么时候内存共享:a)以别的类构造自己,b)以别的类赋值。第一种情况时会触发拷贝构造函数,第二种情况
原创
发布博客 2022.02.27 ·
353 阅读 ·
0 点赞 ·
0 评论

gops进程诊断 详解

安装go get -u github.com/google/gops常规命令gops 工具包含了大量的分析命令,我们可以通过 gops help 进行查看:$ gops helpgops is a tool to list and diagnose Go processes.Usage:gops <cmd> <pid|addr> ...gops <pid> # displays process infogops help # displays th
原创
发布博客 2022.02.19 ·
1136 阅读 ·
0 点赞 ·
0 评论

gops程序火图

安装go get -u github.com/google/gops使用package mainimport ( "log" "time" "github.com/google/gops/agent")func main() { if err := agent.Listen(agent.Options{}); err != nil { log.Fatal(err) } time.Sleep(time.Hour)}
原创
发布博客 2022.02.17 ·
125 阅读 ·
0 点赞 ·
0 评论

go中race数据竞态用法

func main() { fmt.Println(getNumber())}func getNumber() int { var i int go func() { i = 5 }() return i}检查竟态Go(从v1.1开始)具有内置的数据竞争检测器,可以使用它来查明潜在的数据竞争条件。使用它就像-race在普通的Go命令行工具中添加标志一样简单。运行时检查竟态的命令:go run -race main.go构建时检查竟态的命令:go build -race m
原创
发布博客 2022.02.16 ·
614 阅读 ·
0 点赞 ·
0 评论

c++11容器新特性

一、容器总结1、std::arraystd::array跟数组并没有太大区别,std::array相对于数组,增加了迭代器等函数。2、std::forward_liststd::forward_list为从++新增的线性表,与list区别在于它是单向链表。我们在学习数据结构的时候都知道,链表在对数据进行插入和删除是比顺序存储的线性表有优势,因此在插入和删除操作频繁的应用场景中,使用list和forward_list比使用array、vector和deque效率要高很多。3、std::unorder
原创
发布博客 2022.02.16 ·
84 阅读 ·
0 点赞 ·
0 评论
加载更多