2020
10-08
10-08
golang操作elasticsearch的实现
1、前提1.1docker安装elasticsearch查询elasticsearch版本dockersearchelasticsearch将对应的版本拉到本地docker.elastic.co/elasticsearch/elasticsearch:7.3.0创建一个网络dockernetworkcreateesnet启动容器dockerrun--namees-p9200:9200-p9300:9300--networkesnet-e"discovery.type=single-node"bdaab402b2201.2这里过后就可以去写go代码为了直观搞了个可视化工具ElisticHD这里使用docker部署dockerru...
继续阅读 >
前言新手程序员大概有如下特点if嵌套经常超过3层、经常出现重复代码、单个函数代码特别长。只会crud,对语言特性和语言的边界不了解。不懂面向对象原则和设计模式,以为copy代码就算学会了,常见的是代码职责不明确或者写出万能类不知道数据结构和算法的重要性,以为靠硬件能解决运行慢的问题架构不懂,搭建框架不会,搭建环境不会,使用的软件底层原理一问三不知其实吧,很多人干了很多年,看似是老手,平时工作看似很...
GolangHTTP服务在上线时,需要重新编译可执行文件,关闭正在运行的进程,然后再启动新的运行进程。对于访问频率比较高的面向终端用户的产品,关闭、重启的过程中会出现无法访问(nginx表现为502)的情况,影响终端用户的使用体验。实现的一般思路一般情况下,要实现平滑重启或升级,需要执行以下几个步骤:发布新的bin文件覆盖老的bin文件发送一个信号量(USR2),告诉正在运行的进程,进行重启正在运行的进程接受到信号后...
起因 之前接触了一个需求:提供一个接口,这个接口有一个超时时间,如果超时了返回超时异常;这个接口中调用其他的接口,如果调用超时了,所有请求全部结束。 在这个接口中,我使用了go协程去调用其他接口,所以不仅涉及到请求的超时控制,而且还涉及到父协程对子协程的控制问题。在翻阅了一些资料之后,了解到了Context的基本知识。Context Context是golang.org.pkg下的一个包,类型是接...