ELK日志存储分析展示

ELK是一个实时完整的日志存储分析方案,由 Elasticsearch, Logstash, Kibana组成。 工作原理:logstash 从 服务器中收集日志,然后存放到 Elasticsearch,最后 Kibana 将从 Elasticsearch 中查询数据结果返回给客户端。

logstash 工作原理:logstash实例里面有 input, output 和 fi

golang配置文件的读取问题

程序运行的第一步,需要读取配置文件。根据开发环境的不同,配置文件分为:debug, test 和 production 三中,如图所示。

配置统一放在一个 KV map 中


    		  		

mongodb注意事项

用 mongodb 也有一段时间了,总结一下使用上需要注意的一些点。

  1. 设计表。场景:比如一个游戏中,任务A有一些基本的属性(姓名,年龄等)还有一些业务属性,比如拥有的道具,血量等。

如果是关系型的数据库,分表设计,分别是 person(id, name, age...), daoju(id, user_id, daoju_name...)

golang中临时对象池在fmt中的应用

golang fmt 包中,许多打印的函数:Sprintf, Fprintf等都通过一个临时对象池来实现:

对象池的获取:

func newPrinter() *pp {
    p := ppFree.Get().(*pp)
    p.panicking = false
    p.erroring = false
    p.fmt.init

实际项目中promise并发以及golang并发的对比

node.js 中,如果使用的是 async/await 来实现异步的话,在某个 API 中处理数据,如果有大量的数据需要异步处理,过大的并发会导致程序崩溃,因此需要进行并发的限制,实际的代码用 Promise.all 来实现, 比如限制并发为50可以这么写:

//定义一个任务数组:
var tasks = []

//定义单个任务的实现
const Do(ca