博客园 - MrBlue
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=170746
2020-08-25T02:18:00Z
MrBlue
https://www.cnblogs.com/mrblue/
feed.cnblogs.com
https://www.cnblogs.com/mrblue/p/13558193.html
[Go] 分析proto序列化每个字段大小 - MrBlue
0x0 前言 项目的消息包发的proto的二进制流,遇到的问题是有个别消息包特别大。这里分享一个分析工具 0x1 golang代码 package util import ( "fmt" "reflect" "github.com/golang/protobuf/proto" ) // // 分析p
2020-08-25T02:18:00Z
2020-08-25T02:18:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】0x0 前言 项目的消息包发的proto的二进制流,遇到的问题是有个别消息包特别大。这里分享一个分析工具 0x1 golang代码 package util import ( "fmt" "reflect" "github.com/golang/protobuf/proto" ) // // 分析p <a href="https://www.cnblogs.com/mrblue/p/13558193.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/13370762.html
(转)ElasticSearch中"distinct","count"和"group by"的实现 - MrBlue
转自 https://www.jianshu.com/p/62bed9cc8349 1 - distinct SELECT DISTINCT(user_id) FROM table WHERE user_id_type = 3; { "query": { "term": { "user_id_typ
2020-07-24T02:55:00Z
2020-07-24T02:55:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】转自 https://www.jianshu.com/p/62bed9cc8349 1 - distinct SELECT DISTINCT(user_id) FROM table WHERE user_id_type = 3; { "query": { "term": { "user_id_typ <a href="https://www.cnblogs.com/mrblue/p/13370762.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/12167056.html
用Gitbook快速搭建Wiki - MrBlue
本文展示如何用Gitbook快速搭建一套wiki 必备环境 1、gitbook(如何安装gitbook自行百度) 2、nginx(或其他的能当作静态http服务器的) 3、gitlab(或者svn,需要能触发CI/CD的。我这里只展示用gitlab的.gitlab-ci.yml配置CI/CD,svn
2020-01-08T07:52:00Z
2020-01-08T07:52:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】本文展示如何用Gitbook快速搭建一套wiki 必备环境 1、gitbook(如何安装gitbook自行百度) 2、nginx(或其他的能当作静态http服务器的) 3、gitlab(或者svn,需要能触发CI/CD的。我这里只展示用gitlab的.gitlab-ci.yml配置CI/CD,svn <a href="https://www.cnblogs.com/mrblue/p/12167056.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/12166717.html
Nginx反向代理的几种配置模板 - MrBlue
因为内网服务越来越多,各种IP加端口地址根本记不住,于是用Nginx做反响代理,也可以很好管理内网的地址分发。 下面提供几种Nginx配置模板。因为也是自己摸索着配置的,有错误的地方请指正,谢谢先。 # 重载配置 # php配置 # 反向代理1 # 需要传http header参数的 #反向代理2#
2020-01-08T07:02:00Z
2020-01-08T07:02:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】因为内网服务越来越多,各种IP加端口地址根本记不住,于是用Nginx做反响代理,也可以很好管理内网的地址分发。 下面提供几种Nginx配置模板。因为也是自己摸索着配置的,有错误的地方请指正,谢谢先。 # 重载配置 # php配置 # 反向代理1 # 需要传http header参数的 #反向代理2# <a href="https://www.cnblogs.com/mrblue/p/12166717.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/11752523.html
[Golang] ETCD键值监听器 - MrBlue
0x0 需求 我们所有的服务启动后都以lease形式注册入ETCD,现要把这些服务监控起来。 0x1 ETCD key监听器实现 可动态增删要监听的键值对 https://github.com/bailu1901/pkg/blob/master/etcd_watcher/watcher.go 0x3
2019-10-28T07:20:00Z
2019-10-28T07:20:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】0x0 需求 我们所有的服务启动后都以lease形式注册入ETCD,现要把这些服务监控起来。 0x1 ETCD key监听器实现 可动态增删要监听的键值对 https://github.com/bailu1901/pkg/blob/master/etcd_watcher/watcher.go 0x3 <a href="https://www.cnblogs.com/mrblue/p/11752523.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/11597783.html
[Golang] mynats(对nats.go的二次封装) - MrBlue
0x0 前言 最近项目开始使用nats作为消息中间件。 nats的引入确实解决项目很多痛点。 比如: 1)服务动态横向扩展 2)负载均衡(nats的均衡机制只有随机,不过对我们来说也够用了) 3)多服务之间方便快捷的消息通信 0x1 mynats是什么 mynats是对nats.go的一个包装。目的
2019-09-27T06:24:00Z
2019-09-27T06:24:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】0x0 前言 最近项目开始使用nats作为消息中间件。 nats的引入确实解决项目很多痛点。 比如: 1)服务动态横向扩展 2)负载均衡(nats的均衡机制只有随机,不过对我们来说也够用了) 3)多服务之间方便快捷的消息通信 0x1 mynats是什么 mynats是对nats.go的一个包装。目的 <a href="https://www.cnblogs.com/mrblue/p/11597783.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/11434895.html
[Golang] Gin框架学习笔记 - MrBlue
0x0 Gin简介 1.Gin 是什么? Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。如果你需要极好的性能,使用 Gin 吧。 2.Gin相关地址 d
2019-08-30T06:37:00Z
2019-08-30T06:37:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】0x0 Gin简介 1.Gin 是什么? Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。如果你需要极好的性能,使用 Gin 吧。 2.Gin相关地址 d <a href="https://www.cnblogs.com/mrblue/p/11434895.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/11277100.html
[Golang] go modules使用 - MrBlue
关于go modules的使用外面的教程实在太多了,我这里只讲下我自己使用的三种情形。 准备工作: 1、新建个文件加gomod_test。 2、在这个目录输入命令 go mod init gomod_test 情形一:比较常见的情况,引用github的包 比方我有如下代码 main.go 直接命令 
2019-07-31T08:14:00Z
2019-07-31T08:14:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】关于go modules的使用外面的教程实在太多了,我这里只讲下我自己使用的三种情形。 准备工作: 1、新建个文件加gomod_test。 2、在这个目录输入命令 go mod init gomod_test 情形一:比较常见的情况,引用github的包 比方我有如下代码 main.go 直接命令  <a href="https://www.cnblogs.com/mrblue/p/11277100.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/11251498.html
[Golang] 消费Kafka的日志提交到ElasticSearch - MrBlue
0x0 需求 消费Kafka的日志并写入ElasticSearch供查询 0x1 依赖库 golang版Kafka客户端 https://github.com/Shopify/sarama golang版ElasticSearch客户端 https://github.com/elastic/go-e
2019-07-26T09:00:00Z
2019-07-26T09:00:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】0x0 需求 消费Kafka的日志并写入ElasticSearch供查询 0x1 依赖库 golang版Kafka客户端 https://github.com/Shopify/sarama golang版ElasticSearch客户端 https://github.com/elastic/go-e <a href="https://www.cnblogs.com/mrblue/p/11251498.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/11008442.html
[Golang] http.Post导致goroutine泄漏 - MrBlue
记录一个用http.Post的问题
2019-06-12T03:15:00Z
2019-06-12T03:15:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】记录一个用http.Post的问题 <a href="https://www.cnblogs.com/mrblue/p/11008442.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10908532.html
[Metricbeat] Metricbeat监控golang服务器 - MrBlue
0x0 前言 最近这几天研究了一下ElasticSearch相关的技术栈。前面一篇转发了别人些的非常详细的ElasticSearch和Kibana搭建的过程。发现Elastic家族还有Metricbeat这个神器,今天我们把前面搭建的和这个工具一起利用起来。 0x1 需求 需求是这样:我有很多个Go
2019-05-22T13:03:00Z
2019-05-22T13:03:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】0x0 前言 最近这几天研究了一下ElasticSearch相关的技术栈。前面一篇转发了别人些的非常详细的ElasticSearch和Kibana搭建的过程。发现Elastic家族还有Metricbeat这个神器,今天我们把前面搭建的和这个工具一起利用起来。 0x1 需求 需求是这样:我有很多个Go <a href="https://www.cnblogs.com/mrblue/p/10908532.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10867691.html
(转)搭建Elasticsearch和kibana环境 - MrBlue
搭建Elasticsearch和kibana环境 作者:IT云清 原文:https://blog.csdn.net/weixin_39800144/article/details/81162002 1.Elasticsearch和kibana均基于5.5.3版本;官方建议:在二者版本选择时,Elas
2019-05-15T01:53:00Z
2019-05-15T01:53:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】搭建Elasticsearch和kibana环境 作者:IT云清 原文:https://blog.csdn.net/weixin_39800144/article/details/81162002 1.Elasticsearch和kibana均基于5.5.3版本;官方建议:在二者版本选择时,Elas <a href="https://www.cnblogs.com/mrblue/p/10867691.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10784247.html
[Codis] Codis3部署流程 - MrBlue
#0 前言 最近因为项目需要,研究了一下传说中的Codis。下面跟大家分享Codis3的搭建流程 https://github.com/CodisLabs/codis #1 Codis是什么 官方的介绍是:"Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis
2019-04-28T07:27:00Z
2019-04-28T07:27:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】#0 前言 最近因为项目需要,研究了一下传说中的Codis。下面跟大家分享Codis3的搭建流程 https://github.com/CodisLabs/codis #1 Codis是什么 官方的介绍是:"Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis <a href="https://www.cnblogs.com/mrblue/p/10784247.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10770651.html
[Golang] kafka集群搭建和golang版生产者和消费者 - MrBlue
一、kafka集群搭建 至于kafka是什么我都不多做介绍了,网上写的已经非常详尽了。 (没安装java环境的需要先安装 yum -y install java-1.8.0-openjdk*) 1. 下载zookeeper https://zookeeper.apache.org/releases.
2019-04-25T13:16:00Z
2019-04-25T13:16:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】一、kafka集群搭建 至于kafka是什么我都不多做介绍了,网上写的已经非常详尽了。 (没安装java环境的需要先安装 yum -y install java-1.8.0-openjdk*) 1. 下载zookeeper https://zookeeper.apache.org/releases. <a href="https://www.cnblogs.com/mrblue/p/10770651.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10500880.html
[Golang] lua战斗验证服务器 - MrBlue
我的另外一个开源项目,任何建议、指正错误和优化我都非常欢迎 baibaibai_000@163.com 简介 扩展 可以扩展成战斗逻辑用lua编写的战斗验证服务器。这里展示了golang运行多个lua虚拟机,充分利用多核性能的个实现。 可以扩展用grpc做外部的可负载均衡的接口,我这里只简单的实现了
2019-03-09T07:11:00Z
2019-03-09T07:11:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】我的另外一个开源项目,任何建议、指正错误和优化我都非常欢迎 baibaibai_000@163.com 简介 扩展 可以扩展成战斗逻辑用lua编写的战斗验证服务器。这里展示了golang运行多个lua虚拟机,充分利用多核性能的个实现。 可以扩展用grpc做外部的可负载均衡的接口,我这里只简单的实现了 <a href="https://www.cnblogs.com/mrblue/p/10500880.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10335020.html
golang 多个worker正常关闭的示例 - MrBlue
代码如下,如有问题请联系 baibaibai_000@163.com package work_test import ( "math/rand" "runtime" "sync" "testing" "time" ) // TestWorker // test目的:展示当多个worker同时处理一个通道的任务,被关闭时,通道剩余的任务需要被全部处...
2019-01-29T09:29:00Z
2019-01-29T09:29:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】代码如下,如有问题请联系 baibaibai_000@163.com package work_test import ( "math/rand" "runtime" "sync" "testing" "time" ) // TestWorker // test目的:展示当多个worker同时处理一个通道的任务,被关闭时,通道剩余的任务需要被全部处... <a href="https://www.cnblogs.com/mrblue/p/10335020.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10283936.html
golang调试工具Delve - MrBlue
转自:http://www.cnblogs.com/li-peng/p/8522592.html Devle是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试。 线上golang服务出现问题时,Devle是必不少的在线调
2019-01-17T10:50:00Z
2019-01-17T10:50:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】转自:http://www.cnblogs.com/li-peng/p/8522592.html Devle是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试。 线上golang服务出现问题时,Devle是必不少的在线调 <a href="https://www.cnblogs.com/mrblue/p/10283936.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10192592.html
Golang & GitLab-CI 详细实例步骤 - MrBlue
1、安装GitLab-Runner 1)curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash 2)yum install git
2018-12-28T12:19:00Z
2018-12-28T12:19:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】1、安装GitLab-Runner 1)curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash 2)yum install git <a href="https://www.cnblogs.com/mrblue/p/10192592.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10084978.html
[git] 能在关键时刻救命的git指令 - MrBlue
* 查看所有分支的所有操作记录(关键时刻能救命) git reflog
2018-12-07T12:01:00Z
2018-12-07T12:01:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】* 查看所有分支的所有操作记录(关键时刻能救命) git reflog <a href="https://www.cnblogs.com/mrblue/p/10084978.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/mrblue/p/10043153.html
高效实时数据排行榜实现 - MrBlue
最新项目需求是要做一个实时排行榜,有积分Score变动就直接影响排行榜,这里讲一种比较高效的实现,欢迎指正。 基本实现原理: 1、排行榜用的数据结构是跳表 SkipList (跳表是一种有序的链表,随机检索、插入和删除的性能非常高,Redis和LevelDB都有采用跳表这种数据结构,是一种空间换时间
2018-11-30T03:25:00Z
2018-11-30T03:25:00Z
MrBlue
https://www.cnblogs.com/mrblue/
【摘要】最新项目需求是要做一个实时排行榜,有积分Score变动就直接影响排行榜,这里讲一种比较高效的实现,欢迎指正。 基本实现原理: 1、排行榜用的数据结构是跳表 SkipList (跳表是一种有序的链表,随机检索、插入和删除的性能非常高,Redis和LevelDB都有采用跳表这种数据结构,是一种空间换时间 <a href="https://www.cnblogs.com/mrblue/p/10043153.html" target="_blank">阅读全文</a>