随笔 - 240
文章 - 1
评论 - 58
阅读 -
85万
05 2020 档案
ElasticSearch-环境准备
摘要:前言 收集大量的日志信息之后,把这些日志存放在哪里?才能对其日志内容进行搜素呢?MySQL? 1.MySQL海量数据下全文检索效率低 如果MySQL里存储了1000W条这样的数据,每条记录的details字段有128个字。 用户想要查询details字段包含“ajax”这个关键词的记录。 selec
阅读全文
etcd(实时共享配置信息)
摘要:前言 在分布式集群架构中各个组件之间如何解决以下2个关键问题? 1.配置共享:共享同一份配置文件,如果这份配置文件更新之后,各个组件如何马上得知(我就是冲着watch for changes来的....)? 2.服务注册发现:集群中新增节点如何做到自动发现? etcd简介 etcd是Go语言开发的一
阅读全文
Golang工具包
摘要:前言 本文主要介绍在Go中内置的包如何使用 time 时间相关的包 package main import ( "fmt" "time" ) func main() { //格式化时间 now := time.Now() fmt.Println(now) fmt.Println(now.Year()
阅读全文
Kafka流数据传输中间件
摘要:前言 消息队列的主要有3大作用 进程通信(IPC):Interprocess Communication 程序解耦:程序由异步变为了异步,提升程序并发(规避IO等待时间)能力。 数据流量削峰:把消息暂时缓冲在消息队列里面。 NSQ传递的消息通常是无序的,当然你也可以保留下信息去check时间戳,因此
阅读全文
NSQ(分布式消息队列)
摘要:前言 我们可以将原本耦合、同步执行的程序 解耦成 生产端+ 消息队列+消费端模型的异步程序,加上分布式的生产者和消费者架构就可以在一定程度上支撑大并发。 NSQ是go语言开发的消息队列,所以对nsqd进行水平扩展时它的部署、配置也会相对简单。 如果熟悉golang的话在遇到了十分棘手的问题时,看一下
阅读全文
Golang单元测试(go test )
摘要:前言 TDD(Test Driven Development),那么我们如何做到可反复、无遗漏、高效地测试我们自己写的的代码?实现敏捷开发呢? 这就需要我们自己给自己写的代码写测试用例! 参考 本文主要介绍下在Go语言中如何做单元测试、基准测试、非功能测试。 go test介绍 想要测试Go代码需要
阅读全文
Goroutines并发控制
摘要:前言 在Golang中main函数是程序执行的入口和主线,无论怎样,main函数早于它开启的Goroutines结束执行都不属于正常的程序执行流程! 使用以下3种方式,可以控制Goroutines的执行顺序 1.sync.WaitGroup main函数等待,开启的子Goroutines正常执行完毕
阅读全文