自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Filebeat7 Kafka Gunicorn Flask Web应用程序日志采集

本文的内容如何用filebeat kafka es做一个好用,好管理的日志收集工具放弃logstash,使用elastic pipelinegunicron日志格式与filebeat/es配置flask日志格式与异常日志采集与filebeat/es配置以上的配置概况我有一个HTTP请求,经过的路径为Gateway(kong)-->WebContainer(...

2019-11-18 22:41:32 451

原创 Go调度器系列(4)源码阅读与探索

各位朋友,这次想跟大家分享一下Go调度器源码阅读相关的知识和经验,网络上已经有很多剖析源码的好文章,所以这篇文章不是又一篇源码剖析文章,注重的不是源码分析分享,而是带给大家一些学习经验,希望大家能更好的阅读和掌握Go调度器的实现。本文主要分2个部分:解决如何阅读源码的问题。阅读源码本质是把脑海里已经有的调度设计,看看到底是不是这么实现的,是怎么实现...

2019-04-14 15:50:00 310

原创 Go调度器系列(3)图解调度原理

如果你已经阅读了前2篇文章:《调度起源》和《宏观看调度器》,你对G、P、M肯定已经不再陌生,我们这篇文章就介绍Go调度器的基本原理,本文总结了12个主要的场景,覆盖了以下内容:G的创建和分配。P的本地队列和全局队列的负载均衡。M如何寻找G。M如何从G1切换到G2。work stealing,M如何去偷G。为何需要自旋线程。G进行系统调用,如...

2019-04-06 13:13:00 271

原创 Go调度器系列(2)宏观看调度器

上一篇文章《Go语言高阶:调度器系列(1)起源》,学goroutine调度器之前的一些背景知识,这篇文章则是为了对调度器有个宏观的认识,从宏观的3个角度,去看待和理解调度器是什么样子的,但仍然不涉及具体的调度原理。三个角度分别是:调度器的宏观组成调度器的生命周期GMP的可视化感受在开始前,先回忆下调度器相关的3个缩写:G: gorout...

2019-03-27 13:20:00 142

原创 gitlab+jenkins自动发布Python包到私有仓储

背景有个私有仓储,地址为https://your.repo.com/pypi/代码存储在gitlab, 地址为https://gitlab.company.com/software.gitCI为jenkins常规解决手法jenkins有一个特定的节点,节点里面已经配置好了%HOMEPATH%/.pypirc[distutils]ind...

2019-03-14 13:13:00 483

原创 Go语言高阶:调度器系列(1)起源

如果把语言比喻为武侠小说中的武功,如果只是会用,也就是达到四五层,如果用的熟练也就六七层,如果能见招拆招也得八九层,如果你出神入化,立于不败之地十层。如果你想真正掌握一门语言的,怎么也得八层以上,需要你深入了解这门语言方方面面的细节。希望以后对Go语言的掌握能有八九层,怎么能不懂调度器!?Google、百度、微信搜索了许多Go语言调度的文章,这些文章...

2019-03-10 18:33:00 139

原创 Neo4j全文检索

全文检索基本概念搜索搜索这个行为是用户与搜索引擎的一次交互过程,用户需要找一些数据,他提供给搜索引擎一些约束条件.搜索引擎通过约束条件抽取一些结果给用户搜索引擎搜索引擎存在的目的是存储,查找和获取数据.Neo4j用的搜索引擎是Lucene文档在搜索软件中,文档是一等公民.存储,搜索,显示都是以文档为核心.文档简单可以理解为数据库中的一行数据...

2019-02-19 21:05:00 1742

原创 Neo4j之坑

10个月前,我开始用neo4j做cmdb. 初体验下去neo4j很美好. 但是一年中发现一些问题, 仅仅是个人的体验.经供参考查询语言如果接触过Neo4j,都会为Cypher的简单和易用感觉到惊叹, 向其他数据库一样,Neo4j也提供了Explain和Profile工具.这样让你容易理解查询是如何运作的.如果你看过neo4j的查询计划优化的图,你会发现...

2019-02-14 16:45:00 1144

原创 ES index配置总结

TemplateString不分析, 开启_all字段, 关闭时间自动发现{ "template": "*", "mappings": { "_default_": { "_source": {"enabled": true}, ...

2019-01-25 16:11:00 1136

原创 Golang 编译原理 计算器(通俗易懂)

本文不需要你掌握任何编译原理的知识。 只需要看懂简单的golang语言即可, 完整的代码示例在GIT听到编译原理,就觉得很高大上。记得上大学时,这门课要记忆一些BNF,LEX,AST,CFG这些有的没的。一个听不懂,二个没兴趣。随着使用了几门语言之后,也尝试用编译原理的基本知识写过一个sql转es的工具之后。发现其实了解一点点编译原理的知识,能够提高我们...

2019-01-14 22:34:00 937

原创 Apline容器启动Crontab任务

Dockerfile 例子:FROM alpine# Copy script which should be runCOPY ./myawesomescript /usr/local/bin/myawesomescript# Run the cron every minuteRUN echo '* * * * * /usr/loc...

2018-12-07 11:35:00 1265

原创 Golang 定时任务管理

本文基于Golang Crontab 实现了一个Crontab Job Manager。更加容易使用,同时也能够满足更加复杂的场景。仓储地址, 如果有用,欢迎点赞,欢迎讨论,欢迎找茬。需求在开发中,经常遇到一些需要定时任务的场景。各个语言都有定时语言的库,Golang Cron 提供了Crontab Golang语言版本。这个库非常不错,提供最基本的定时任务编排的功能。但是一些复杂需求无法满...

2018-12-04 19:46:56 307

原创 Golang 定时任务管理

本文基于Golang Crontab 实现了一个Crontab Job Manager。更加容易使用,同时也能够满足更加复杂的场景。仓储地址, 如果有用,欢迎点赞,欢迎讨论,欢迎找茬。需求在开发中,经常遇到一些需要定时任务的场景。各个语言都有定时语言的库,Golang Cron 提供了Crontab Golang语言版本。这个库非常不错,提供最基本的...

2018-12-03 22:22:00 1872

原创 Golang RabbitMQ 自动重连/重发生产者

背景Golang里面采用AMQP来连接rabbitmq, 使用之后发现这个库比较底层,只提供协议的封装。这个库用到生产环境不合适,包装了一层以提供更加稳定的功能,代码地址目标断线重连: 这个需求不过分,生产环境各种网络问题,最起码的重连要支持,支持重连次数消息重发: 这个要求不过分,Rabbitmq有消息确认机制关键实现PS:Golan...

2018-12-03 19:35:00 4627 1

原创 Golang 反射

基本了解在Go语言中,大多数时候值/类型/函数非常直接,要的话,定义一个。你想要个Structtype Foo struct { A int B string}你想要一个值,你定义出来var x Foo你想要一个函数,你定义出来func DoSomething(f Foo) { fmt.Println(f.A, f....

2018-10-28 17:04:00 101

原创 Terminal生成文件树

find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

2018-10-09 08:33:00 251

原创 Docker 部署golang程序

问题我写好了一个基于gin的web程序,另外还有一些依赖。我费了千辛万苦才把依赖下载下来,我不想在docker镜像里面在下载一次依赖,如何能够快速的给我构建一个镜像。有问题的解决方法golang作为编译型语言,运行的是编译完成的二进制可执行文件,该文件是与运行系统有关的。我的开发系统是ubuntu1604。所以我的解决思路是如下我先编译出可执行文...

2018-09-18 15:43:00 640

原创 Golang Tag

我们可以通过Tag来增强结构体的定义,Tag会带上一些meta信息,在本文中我们将通过几个例子来深入了解Tag的用法。结构Struct是由一组field组成,每个field包括了名字(可选)和字段类型package mainimport "fmt"type T1 struct { f1 string}type T2 struct {...

2018-08-27 11:48:00 626

原创 Jenkins Shell中使用Docker

在私有云下,服务器不允许root用户登陆,这时候需要将Jenkins登陆用户加入Docker用户组,使得普通用户获取Dokcer运行权限。具体步骤如下# 添加 docker 用户组sudo groupadd docker# 添加当前用户到docker用户组, 其他用户将${USER}换掉sudo gpasswd -a ${USER} docker...

2018-08-15 11:46:00 828

原创 CentOS已有Python27,Python34.安装Python3.6

背景:通过CentOS yum 安装了Python27 Python34wget -c https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgztar -xvzf Python-3.6.2.tgzcd Python-3.6.2./configure --prefix=/usr/python...

2018-08-15 10:36:00 116

原创 Nxlog 配置总结

Nxlognxlog基本架构nxlog是事件驱动的多线程App。nxlog内核只负责配置文件解析/文件和Socket监控/内部事件管理,任何module可以dispatch事件到内核。内核会有选择性分发到对应处理module。nxlog Config文件基本结构配置引入用include引入其他地方的配置,对实际功能无影响。与Apache配置类似,...

2018-08-10 11:36:00 3570

原创 Docker镜像迁移

背景部分机器不允许访问外网,内部docker镜像源不好用。命令docker export cbe3cb7799ed > update.tardocker import - update < update.tar # update是一个已经存在的镜像docker save -o update1.tar updatedocker ...

2018-08-02 10:07:00 100

原创 Neo4j与ElasticSearch数据同步

Neo4j与ElasticSearch数据同步针对节点删除,加了一些逻辑,代码地址背景需要强大的检索功能,所有需要被查询的数据都在neo4j。方案在Server逻辑中直接编写。后端有一个Storage类。当有新数据通过RestAPI存入Neo4j时,同时存一份到ElasticSearch编写Neo4j插件。Neo4j本身不支持Trigger。...

2018-07-06 10:52:00 2484

原创 Postgres全文搜索功能

当构建一个Web应用时,经常被要求加上搜索功能。其实有时候我们也不知道我要搜索个啥,反正就是要有这个功能。搜索确实很重要的特性,这也是为什么像Elasticsearch和Solr这样基于Lucene的数据库越来越流行。这两个是好用,但是在构建Web应用时,有时候感觉像是杀鸡用牛刀。所以我们需要选择轻量好用的东西来搜索。如何定义足够好用? 足够好用的搜索...

2018-07-06 10:46:00 424

原创 Ubuntu16.04安装Go1.9

To install Go 1.9 on Ubuntu 16.04, first add the PPA and install the golang-1.9-go package:sudo add-apt-repository ppa:gophers/archivesudo apt updatesudo apt-get install golang...

2018-06-07 11:00:00 536

原创 Postgres存储树形数据

碰到一个树形数据需要存储再数据控制,碰到以下两个问题:在PG数据库中如何表达树形数据如何有效率的查询以任意节点为Root的子树测试数据为了更加简单一些,我们将使用一下数据Section A |--- Section A.1Section B |--- Section B.1 |--- Section B.1 ...

2018-05-07 11:59:00 426

原创 Ubuntu16.04 升级Docker

Docker版本1.12太低了。删除Dockersudo apt-get purge docker.iosudo rm -rf /etc/docker/sudo apt-get autoremove更新apt源删除sudo vi /etc/apt/sources.list中的地址,加上deb http://mirrors.aliyu...

2018-03-15 20:05:00 197

原创 Postgres中文分词

环境CentOS Linux release 7.2.1511 (Core)安装Postgres安装postgres很简单yum安装sudo yum install postgresql-server postgresql-contrib postgresql-devel初始化数据库sudo postgresql-setup init...

2018-02-23 20:04:00 197

原创 Python类实例理解

从Foo这个类开始说起:class Foo(object): def __init__(self, x, y=0): self.x = x self.y = y当实例化这个类时候发生了什么?f = Foo(1, y=2)实例化的时候Foo被调用了,在这里面到底有什么方法被依次调用了呢?__init__肯...

2018-02-08 16:05:00 123

原创 Salt执行复杂python命令

背景要用Salt Api在目标机群(centos/window)实现很复杂的配置文件处理操作。本来的想法awk powershell。结果awk太难,powershell不会...然后有Salt必有Python,有Python就可以执行python -c "print 1"。但是由于太复杂,要先读取目标机子上的文件,然后分析逻辑,然后在做文件写操作...

2017-11-28 20:15:00 332

原创 去除dict中的空对象

背景代码要生成一个json,json中可能出现空对象。如何去除这个空对象本来的想法树的遍历....洋洋自得直接变成string,然后正则匹配>_<Codeconst deleteJsonNullObject = function(obj){ if (obj.constructor !== Object){ ...

2017-11-28 20:05:00 170

原创 Python多进程COPY PostgreSql表实验

背景因为需要进行代码优化。所以进行数据表的整表COPY一直很好奇,多进程对于copy是否有优化呢?于是做了一些实验。实验环境:32核I5的服务器。内存200G实验一: 两个进程 分开copy两个表Python代码如下dsn = 'postgresql://postgres:pset123456@192.168.10.10/CHN_NAVINFO...

2017-04-28 10:27:00 483

原创 PostgreSQL忘记密码

找到pg_hba.conf路径运行ps ax | grep postgres | grep -v postgres:得到25653 pts/0 S+ 0:00 /usr/lib/postgresql/9.3/bin/psql -h 192.168.10.10 -p 5432 -U postgres -W26679 ? ...

2017-04-20 11:05:00 171 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除