摘要:
Envoy 开始 阅读全文
摘要:
1. 避免大key 危害: 数据热点问题,集群模式在slot分片均匀情况下,会出现数据和查询倾斜情况,部分有大key的Redis节点占用内存多,QPS高 慢查询问题,服务超时 网卡带宽压力,极端情况下会打满带宽 2.使用优化 过期时间 为大key或者特定业务设置合理过期时间,避免同一时间大量过期。同 阅读全文
摘要:
图片来源网络 1.创建topic 2.启动三组go消费者 3.启动go生产者 4.第一组消费者输出 5.第二组消费者输出 6.第三组消费者输出 7.结论 1.消息将会被均匀的分布到不同的分区中 实现了负载均衡和水平扩展 2.消息会全量落到不同的消费者组 3.消费者组内的消费者共享一个消费者组ID 组 阅读全文
摘要:
docker 搭建kafka环境 创建topic partitions为2个,replication有3个,topic的name为test_kafka 消费kafka数据 生产kafka数据 参考 http://zhongmingmao.me/2018/10/08/kafka install clu 阅读全文
摘要:
1.创建docker网络 networks: redisnet 1.创建3台redis 镜像redis:latest hostname redis 1 用于容器内部通讯 端口使用默认的6379 2.创建redis监控 镜像oliver006/redis_exporter hostname redis 阅读全文
摘要:
docker 新建并启动容器 列出容器 退出容器 启动容器 重启容器 强制停止容器 删除容器 守护式容器 查看容器日志 查看容器内运行的进程 查看容器内部细节 进入正在运行的容器 拷贝文件 容器数据卷 DockerFile添加容器数据卷 阅读全文
摘要:
1.发现问题 生产环境发现有一些redis报错日志 connection pool exhausted。如果redis中没有数据 就直接回源 查DB。暂时不会有什么大问题。中文意思是连接池耗尽。 2.追踪问题 查看源码 我们用的redis客户端类似于redigo 按照错误提示搜索到了一段代码(基于最 阅读全文
摘要:
一:单元测试 1.为什么要做单元测试和性能测试 减少bug 快速定位bug 减少调试时间 提高代码质量 2.golang的单元测试 单元测试代码的go文件必须以_test.go结尾 单元测试的函数名必须以Test开头,是可导出公开的函数 测试函数的签名必须接收一个指向testing.T类型的指针,并 阅读全文
摘要:
golang http 中间件 "源码链接" golang的http中间件的实现 首先实现一个http的handler接口 通过函数包裹的方式实现 中间件v1.0 1.通过匿名函数 将handler包裹起来 然后再 调用传进来的handler。在执行传进来的参数之前 就可以做到记录日志 等一些中间件 阅读全文
摘要:
1.可以复用一些写法。经常在单元测试过程中需要new一些对象可以new的操作抽离出来 2.中间件 阅读全文