- 博客(92)
- 收藏
- 关注
原创 架构设计
架构设计:第二版:实现了第一版收集的需求。解决了之前agg单点,不能横向扩展,不能并发执行,没有高可用的问题解决了文件打包,文件编排,扫描一致性问题 i) 编排。类似spark 的driver,executer,有向无环图。参考:https://spark.apache.org/ ii)服务注册与发现。参考:https:/...
2023-02-20 12:30:00
279
原创 Ansible:执行过程分析、异步模式和速度优化
-BSECONDS,--backgroundSECONDSrunasynchronously,failingafterXseconds(default=N/A)-PPOLL_INTERVAL,--pollPOLL_INTERVAL...
2022-11-07 16:23:05
473
原创 使用golang及gorm通过MySQL实现消息队列,保证日志先行,持久化,失败补偿,事务性多客户端并发消费,可水平扩展...
代码目录:main.gogo.modgo.summakeData/makeData.gomain.go:package mainimport ( "fmt" "strconv" "strings" //"mysqltaskdirdemo/makeData" "gorm.io/driver/mysql" "gorm.io/gorm")type VsTask s...
2022-11-07 16:22:46
746
原创 使用golang实现类java的netty异步通信编程,也即是回调通知基于事件的模型设计...
代码package mainimport ( "encoding/json" "fmt" "net/http" "sync")var dirEngineChan sync.Mapfunc main() { dHandler := dagHandler{} http.Handle("/v1/dagScan", dHandler)...
2022-05-25 22:09:00
1261
原创 深入了解服务注册与服务发现
1. 什么是服务注册与发现我们先来看下什么是服务注册与服务发现?服务注册,就是将提供某个服务的模块信息(通常是这个服务的ip和端口)注册到1个公共的组件上去(比如: zookeeper\consul)。服务发现,就是新注册的这个服务模块能够及时的被其他调用者发现。不管是服务新增和服务删减都能实现自动发现。你可以理解为://服务注册NameServer->register(ne...
2022-05-12 16:03:00
7827
2
原创 .gitlab-ci.yml说明
Gitlab官方文档:https://docs.gitlab.com/ee/ci/yaml/README.htmlhttps://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.htmlhttps://docs.gitlab.com/ee/ci/docker/using_docker_images.htmlGitLab CI/CD 是一个内置在GitL...
2022-05-07 15:49:00
7720
原创 logstash
安装sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearchvi /etc/yum.repos.d/logstash.repo[logstash-8.x]name=Elastic repository for 8.x packagesbaseurl=https://artifacts.elastic.co/...
2022-04-26 17:21:00
587
原创 混沌工程
阿里混沌工程工具:https://chaosblade-io.gitbook.io/chaosblade-help-zh-cn/blade-create-cpu-loadhttps://blog.youkuaiyun.com/u013256816/article/details/99917021
2022-04-21 20:18:00
98
原创 故障问题分类
在真实业务场景中,遇到的任何故障都是混沌实验的潜在变量。目前业界已经有了按照 IaaS 层、PaaS 层、SaaS 层划分的故障画像 (如下图)。除了对这些已出现的问题进行分类、优先级排序外,也要对未来可能会出现的新问题保持关注。...
2022-04-21 16:14:00
304
原创 rsyslogd内存占用过高
用top,用ps都能看到。相伴的systemd-journal cpu和内存占用也很高。systemd-journal 使用了持久化模式。其中一个服务1秒钟内打非常多的日志。一天好几个G。另外,sudo journalctl --verify 也有错误输出。其他没什么异常。https://blog.youkuaiyun.com/qq_25518029/article/details/12001067...
2022-04-19 14:56:00
682
原创 kafka消费者组重平衡悬疑问题
首先kafka的消费者组机制一直很受诟病,就是很受诟病的。过度设计,也不实用,永远在做没必要的重平衡。很多情况架构上和客户端上都可以自己做。其次,如果用了咋办什么时候会发生rebalance?前面我们已经说到,rebalance 其实就是对 partition 进行重新分配。那么什么时候会发生 rebalance 呢?其实在以下三种情况下,会触发 rebalance:订阅 Topic...
2022-04-07 18:14:00
3134
原创 ssd与磁道机械盘
主流的SSD是使用半导体闪存(Flash)作为介质的存储设备,SSD有别于HDD(Hard Disk Drive)机械硬盘。SSD使用Flash作为存储介质,数据读取写入通过SSD控制器进行寻址,不需要机械操作,有着优秀的随机访问能力。ssd访问图:3. SSD的特性?3.1 读写不平衡读的速度很快;写入数据时,因为需要通过加压的方式对存储单元进行电子填充,所以速度略慢;擦除速度最慢...
2022-03-29 12:03:00
174
原创 sre之监控报警---当我们监控报警的时候我们应该监控报警什么?
google有四个黄金信号,分别是Latency — The time it takes to service a requestTraffic — A measure of how much demand is being placed on your systemErrors — The rate of requests that failSaturat...
2022-03-28 17:51:00
198
原创 基准测试+线上监控图形+报警阈值
1,mongodbhttps://cloud.tencent.com/developer/article/1005399?from=15425,数据库的基准测试线上监控图形场景是,凌晨3点开始的备份,持续时间20分钟,3点05到3点25,平均iops 5000,平均MBps , 单个io size大小,因为mongodb和MySQL还不太一样,MySQL是innodb引擎,mongod...
2022-03-25 19:42:00
220
原创 airflow
https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html--------------------------------------------------------------------------------------------------------install:export...
2022-03-25 16:23:00
131
原创 perl
https://www.perl.org/ perl官网------------------------------------------------------------------------脚本文件有这一句:use LWP::UserAgent;然后报错:Can't locate LWP/UserAgent.pm所以安装:yum installperl-CPAN...
2022-03-22 17:59:00
1321
原创 服务器基准测试
https://bp.aliyun.com/detail/189 # # # # # # # ##### ###### # # #### # # # # ## # # # # # # # ## # # # # # # # # #...
2022-03-21 19:50:00
251
原创 eck:Elasticsearch running in k8s use Kubernetes operator
https://www.elastic.co/guide/en/cloud-on-k8s/2.1/index.htmlThe value set for cpu requests directly impacts Elasticsearchnode.processorssetting. For example, withresources.requests.cpu: 1,Elastic...
2022-03-18 20:27:00
163
原创 linux系统内核配置
使用命令:sysctl sysctl vm.max_map_count 查看sysctl -w vm.max_map_count=262144 临时操作,肯能重启后失效To set this value permanently, update thevm.max_map_countsetting in/etc/sysctl.conf. To verify after re...
2022-03-18 14:22:00
261
原创 k8s从容器到编排
一,K8s 是啥?Production-Grade Container OrchestrationKubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.K8s mase...
2022-03-17 12:07:00
324
原创 基于K8s调度器实现自定义调度
就是按照约定写代码,和我最开始写mysql UDF,hive自定义函数,都是一样的。官方配置多个调度器:https://kubernetes.io/zh/docs/tasks/extend-kubernetes/configure-multiple-schedulers/背景:为了实现基于K8s的数据库服务的调度功能难点:1,原生K8s的资源只有cpu和mem,但是MySQL调度需要...
2022-03-10 20:52:00
1067
原创 journalctl丢弃日志文件
开发说查不到日志了。然后用命令查看进程的,查看日期的,sudo journalctl --since "2022-03-04 23:00:00" --until "2022-03-08 20:15:00" _PID=8079 |less查看service unit的journalctl-ucsdrweb.service-f确实查不到,但是,journal已经配置持久化了。...
2022-03-08 14:04:00
216
原创 MongoDB——count不准原因分析
仅仅是tips,我们用的3.6版本,存在这种情况。4.0版本以后就没了。背景一般来说,除了由于secondary延迟可能造成查询secondary节点数据不准以外,关于count的准确性问题,在MongoDB4.0官方文档中有这么一段话On a sharded cluster, db.collection.count() without a query predicate can resul...
2022-03-07 20:08:00
1558
原创 开发工具
vscode:整体移动:选中按TAB右移按SHIFT+TAB左移Ctrl+Z 恢复刚才的操作:Ctrl+Shift+Z 恢复ctrl+zvscode 下的python开发:下载python Windows 64位安装器,记得勾选安装环境变量:Python:https://www.python.org/downloads/安装完:C:\Users\ThreatBook>...
2022-03-07 15:46:00
105
原创 cicd
1,gitlab配置项目token在项目setting里获取项目id及项目信息:https://git地址/api/v4/projects?private_token=token&search=项目名项目id:{"id":xxxgroup id:{"id":xxx,"name":"cloudscan","path":"cloudscan","kind":"group"配置w...
2022-03-01 17:45:00
81
原创 flask
1,虚拟环境建议在开发环境和生产环境下都使用虚拟环境来管理项目的依赖。为什么要使用虚拟环境?随着你的 Python 项目越来越多,你会发现不同的项目 会需要不同的版本的 Python 库。同一个 Python 库的不同版本可能不兼容。虚拟环境可以为每一个项目安装独立的 Python 库,这样就可以隔离不同项目之 间的 Python 库,也可以隔离项目与操作系统之间的 Python 库。...
2022-03-01 17:37:00
117
原创 wget 下载 设置cookie
如果不设置cookie,下载下来的是一个html网页,所以需要下载zip比如这样的内容,需要设置一下cookie
2022-02-28 21:11:00
760
原创 powershell
0,多条命令一起执行:shellcd /data && lsPowerShell:(cd C:\) -and (dir)这样,在PowerShell中,我们也可以顺序执行多条命令了。用分号也可以,; ,但这样的话,就没有前边的语句必须成功的语义,和linux里的;是一样的。而-and 是和Linux的&&一样的语义1,类grep,叫findstrans...
2022-02-28 15:37:00
63
原创 停止linux机器的auditd.service
在使用ansible 或者ssh的时候。因为机器上也装了一些特殊软件。导致经常ansible执行卡住,或者ssh卡住。或者机器莫名假死。所以绝对停掉auditd.service服务看看。但这个服务的service文件配置了,RefuseManualStop=yes,是不允许手动停止的。所以需要这里RefuseManualStop=yes 改成no,然后操作。ansible all-lin...
2022-02-25 22:17:00
4080
1
原创 golang版本的supervisord
python版本的supervisord,是使用最广的,不过不支持window系统https://github.com/ochinchina/supervisord 这个golang版本的支持。不过用ansible 远程启supervisord 卡住无返回信息。用 winrm 远程启,会造成session id 为0supervisord session id为0,会造成它启动的程序...
2022-02-25 22:07:00
964
原创 BCM-BCP-DRP-运维管理之故障管理——故障的分类与处理流程
ITSMBusiness Continuity Manage(BCM)BusinessContinuityPlan(BCP) 偏业务DisasterRecoveryPlan(DRP) 偏IT天塌了,考虑在天塌了的状态下做什么,怎么开展业务就是BCP;天塌了,考虑怎么把天撑回去,就是DRP。DRP+BCP+供应链管理+危机管理等就是BCM (业务连续性管...
2022-02-25 11:22:00
2301
原创 为什么要做cicd与devops?康威定律及其他
由康威定律,devops由来,频繁变更情况下,cicd分离,手动适配变更,必然有遗忘。好比代码行,工程量,和bug成正比ci不只是编译源码,还要给CD提供数据和变量康威定律 (康威法则 , Conway's Law) 是马尔文·康威1967年提出的:"设计系统的架构受制于产生这些设计的组织的沟通结构。"即系统设计本质上反映了企业的组织机构。系统各个模块间的接口也反映了企业各个部门之间的信息流...
2022-02-25 08:43:00
198
原创 mongodb最佳实践
官方文档对限制的描述:https://docs.mongodb.com/manual/reference/limits/表数据不可能无限大,主要基于,1,表大了运维会带来困难,比如balance。备份还原。副本集同步。冷启动。刷脏页。传输带宽。这些需要全量高IO操作的都会需要很长时间,影响可用性。2,表大了不可避免的对性能有影响,主要看热数据在内存中的容量。一些建议:表数据不可以无限...
2022-02-24 10:57:00
258
原创 open-falcon
官网:https://book.open-falcon.org/zh_0_2/usage/nodata.html编程API:http://open-falcon.org/falcon-plus/1,agent只要部署到机器上,并且配置好了heartbeat和transfer就自动采集数据了2,hostsgroup,往组里加机器的时候如果报错,需要检查portal的数据库中host表,看里边...
2022-02-22 17:42:00
108
原创 (转载)go中的任务队列
这篇文章非常不错在RapidLoop中,我们几乎用Go做所有事情,包括我们的服务器,应用服务和监控系统OpsDash。Go 十分擅长编写异步程序 - goroutine 和 channel 使用十分简单不容易出错并且和其他语言相比异步/等待模式,语法和功能都更加强大。请继续阅读来瞧瞧围绕任务队列的一些有趣的 Go 代码。不使用任务队列有时候你不需要任务队列。执行一个异步任务可以...
2022-02-16 19:08:00
368
原创 使用python将mysql数据导入mongodb分片数据
mongodb 版本3.4 所以有些pymongo的api是老的:代码如下:代码来自:https://github.com/zshameel/MySQL2MongoDB1,代码不支持多线程,修改代码支持了多线程。2,代码是高版本pymongo,如果使用mongodb3.4,已改成低版本的API。3,代码不支持流式传输,下面有流式传输的版本。import sysimport ...
2022-02-10 21:44:00
405
原创 python
1,本机python2.7升级到3.6一般老的虚机安装时python默认时2.7版本,需要升级]# which python/usr/bin/pythonls -lah /usr/bin/pythonlrwxrwxrwx. 1 root root 7 Apr 22 2020 /usr/bin/python -> python2安装python3.6后: ls -lah /usr...
2022-02-10 16:55:00
109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人