Liangjf

The darkest hour is that before the dawn.

京东云

京东云视频处理签名认证

京东云视频处理签名认证 https://docs.jdcloud.com/cn/object-storage-service/user-signature-authentication 用户可以在HTTP请求中增加 Authorization 的Header来包含签名(Signature)信息,表明这个消息已被授权。 Authorization字段计算的方法 Authoriza...

nsq

nsq集群和踩坑

nsq集群和踩坑 nsq集群和可靠性: 多播。1个nsqd多个topic,多组channel,可以多播 降级。消息处理失败,消费者会降级,不会损坏系统核心功能 解耦。上游数据接收数据,写入nsq中,下游异步的取数据做处理。保证上下游的健壮,稳定 重试。当发送消息失败,会发送REQ到nsqd,或者发送消息超过有效时间窗口时间,会重新入队再次等待发送,保证消息发送被消费。 ...

golang

为程序添加版本功能

为程序添加版本功能 选项解释 -v 用于获取可执行文件信息 -ldflags 指定参数替换 -X 指定命令行传参 main.gitTag 包名.参数名 编译 go build -v -ldflags "-X main.gitTag=1 -X main.gitCommit=2 -X main.gitTreeState=3 -X main.buil...

nsq

Viper

在 Go 中使用 Viper 加载配置文件 viper是国外大神spf13写的开源配置解决方案。 viper 的 Github 是:https://github.com/spf13/viper。 优秀go项目使用viper Hugo EMC RexRay Imgur’s Incus Nanobox/Nanopack Docker Notary BloomApi ...

nsq

nsq-go实战

nsq-go实战 nsq架构 1.nsqd启动 nsqd的作用 接收消息,排队,转发的作用。用于生产者的解耦,消息的缓存,构建集群。 监听两个端口,默认是4150(TCP)和4151(HTTP)。 两个端口都提供给生产者和消费者连接。所有有两种通信方式 http端口还提供给nsqadmin获取该nsqd本地信息(为了web监控服务) nsqd做两件事: ...

nsq

nsq深入浅出

nsq深入浅出 快速使用 1、启动顺序: nsqlookupd nsqd --lookupd-tcp-address=127.0.0.1:4160 nsqadmin --lookupd-http-address=127.0.0.1:4161 2、发送消息 curl -d 'hello world 1' 'http://127.0.0.1:4151/pub?topic=test' 3、...

beego与bee初识

beego和bee安装使用

beego的安装 go get github.com/astaxie/beegobeego 框架升级 go get -u github.com/astaxie/beegoBee 工具安装 go get github.com/beego/bee 注意:此命令后,会在bin目录下直接生成可执行文件,需要把 $GOPATH/bin 路径加入环境变量 安装后执行命令验证: bee ve...

编程杂谈

异步编程

本文谈谈异步编程,在摩尔定律逐渐失效的今天,单核的性能逐渐不能满足人们的需求了,然而多核的编程应用对于我们来说是比较难的(所以go等现代语言才会火热~ ~) 为什么需要异步编程? 当硬件发展到一定阶段,单核的性能很难再飞速增长 多核的数量在增加,但在引用层面是比较难真正很好的应用。 锁的开销很大。在传统的多进程/多线程的编程中,锁是保证数据安全的重要手段。由于资源(file,...

Libevent

libevent的配置event_base

在libevent中,最重要之一的结构体非 event_base 莫属了。 在libevent中,可以通过 event_init 或者 event_base 得到。前者得到的是默认配置的base,后者得到的是自定义配置的base。 base是什么?就是event_base,整个libevent中Reactor架构的事件集。 看看自定义的base吧。 struct event_base...

Libevent

libevent的event_io_map哈希表

win32有哈希表,linux没有 在 event-internal.h 文件中, #ifdef _WIN32 /* If we're on win32, then file descriptors are not nice low densely packed integers. Instead, they are pointer-like windows handles, an...