- 博客(99)
- 资源 (8)
- 收藏
- 关注
原创 golang硬核技术(二)go程序从启动到运行到底经历了啥
go相对其他语言,对并发的支持更友好。这使得他的设计和其他程序迥然不同。让我们来看看它都是如何初始化程序的,从程序加载到运行到底经历的什么。我们继续之前的版本1.18.4。
2023-07-01 18:33:36 674
原创 如何用rust实现一个异步channel
使用通信来共享内存,而不是通过共享内存来通信上面这句话,是每个go开发者在 处理多线程通信时 的座右铭,go甚至把实现这个理念的channel直接焊在编译器里,几乎所有的go程序里都有channel的身影。rust的异步和go的goroutine有异曲同工之妙,甚至可以把 tokio::spawn 理解为go关键字。但在rust中好像并没有异步channel的实现。本着求人不如求己的原则,决定diy一个类似go的channel。
2023-06-28 14:44:18 2588 5
原创 golang硬核技术(一)内存管理
golang的内存分配,思想来自tcmalloc。它是google的一个内存分配库。性能比glibc要快很多。所以在理解golang的内存分配前,我们先看一下tomalloc的原理。从tomalloc的工作原理中可以看出,tomalloc有以下特点减少系统调用,避免上线文切换每个线程有缓存,避免了锁竞争复杂的设计让内存碎片化,并让内存利用率降低,tomalloc虽然做了一些优化,但这些问题依然存在。
2023-04-15 17:40:41 1985 1
原创 ClickHouse(一)安装和基础操作
俄罗斯搜索引擎Yandex于2016年6月发布,开发语言为C++,ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS。ROLAP在线实时查询完整的dbms列式存储不需要任何数据预处理拥有非常完整的sql支持和函数支持批量更新支持高可用不依赖hadoop生态相比传统数据库,查询效率成倍数增长,十分强悍。
2023-04-05 11:44:04 666
原创 【rust-grpc-proxy】在k8s中,自动注入代理到pod中,再不必为grpc调试而烦恼
目前功能基本完善。是时候上环境开始应用了。之前考虑是gateway模式或者sidecar模式。思考良久之后,觉得两种模式都有使用场景,那就都支持。本次就带来sidecar模式的食用姿势。
2023-03-08 15:02:40 1017 3
原创 【rust-grpc-proxy】对restful的支持 rust-grpc-proxy
继上一篇博文的展望,这个月rust-grpc-proxy提供了对restful的简单支持。并且提供了完成的用例,见地址如下,下面我们来体验一下。
2023-02-25 11:13:10 999 3
原创 高密度部署,基于动态库的尝试,rust动态调库
最近在搞faas平台,也试了各大云厂商的产品,效果都不是很理想。和我心目中的faas想去甚远。和小伙伴们吹完牛逼,心有所感,写下这篇文章,时间跨度较长,故事的结局可以直接看尾语。
2023-02-16 21:09:12 1000
原创 【rust-grpc-proxy】基于rust的,gRPC动态代理,无需proto文件自动http转gRPC
沟通服务间接口内容(尤其是前后端接口),是非常让人头疼的事。极其容易扯皮。接口文档写起来也很痛苦,每个字段的改动都需要及时更新,否则就会出问题。服务端通信如果用rpc通信的话,一般会有proto或者thrift文件。这个文件很长时间里被我们当成接口文档用,用着用着发现,真tm好用。既减少了扯皮,还不用写接口文档。那可不可以用grpc和前端通信那,一开始我们的做法是用grpc-gateway。把grpc的接口映射成http接口。但这种方式需要编译gateway的pb文件,对服务也是有侵入的。
2023-02-02 21:25:45 2114 1
原创 k8s 从懵逼到清醒(二) 网络
目录复制目录前言简介Node节点网络Pod 网络前言简介k8s中将网络大致分为四种Service Mesh 即服务网格,它将分布式服务的通信抽象为单独一层,在这一层中实现负载均衡、服务发现、认证授权、监控追踪、流量控制等分布式系统所需要的功能service网络,是对ip的命名,相当于域名之于ip。负责服务发现,负载均衡,集群内外的端口暴露pod网络,基于节点网络,为每个pod赋予一个ip,并相互之间通过这个ip组成网络Node节点网络,基于真实物理机的网络,是通常意义上的网络Node节
2022-05-22 17:56:22 1573
原创 rocketmq 一文搞懂概念与原理
目录前言简介用途横向对比部分概念说明系统架构producerconsumerNameServer路由注册路由剔除路由发现选择策略brokertopic创建模式读/写队列前言略简介用途略横向对比特点rabbitmqrocketmqkafka开发语言erlangjavajava单机吞吐量万级十万级十万级topic-千级影响吞吐百级影响吞吐功能丰富度高高低部分概念说明topic 订阅主题,是消息订阅的基本单位tag 消息的
2022-05-15 14:40:42 423
原创 一文搞懂分布式事务解决方案
目录前言简介2pc实现过程总结XA3pc和2pc的区别优劣TCC原理硬性要求Saga消息事务前言如无必要,请在设计中规避分布式事务简介严格意义上的事务实现应该是具备原子性、一致性、隔离性和持久性,简称 ACID。原子性(Atomicity),可以理解为一个事务内的所有操作要么都执行,要么都不执行。一致性(Consistency),可以理解为数据是满足完整性约束的,也就是不会存在中间状态的数据,比如你账上有400,我账上有100,你给我打200块,此时你账上的钱应该是200,我账上的钱应该是30
2022-03-25 15:40:23 3969
原创 基于centos7.6搭建gitlab私有仓库
目录gitlab简介搭建1 安装必要工具2 下载安装3 修改配置4 启动服务遇到错误1 内存不够gitlab简介centos官网安装连接:https://about.gitlab.com/install/#centos-7搭建1 安装必要工具sudo yum install -y curl policycoreutils-python openssh-server postfix wget2 下载安装这里从清华源下载https://mirror.tuna.tsinghua.edu.cn/g
2022-03-04 02:28:57 547
原创 k8s 从懵逼到清醒(一)结构与资源
目录简介资源rc rs deploymentdaementSetpodstatefulSetservice没有前言简介k8s架构图核心模块和用途如下:Cluster:Cluster是一个抽象的集合概念,包括计算、存储和网络资源。具体来说Kubernetes Cluster由Master和Worker组成,各个worker节点上运行着若干Kubernetes服务Master:master相当于整个kubernetes集群的大脑,依靠一些运行的服务进行kubernetes的任务调度工作
2022-02-24 15:52:45 861
原创 Golang+MongoDB 从基础到放弃 进阶(二)
这里写目录标题前言索引explain副本集 Replica Sets概念两种类型三种角色选举前言阅读本文需要查看前文索引explainmongodb中的分析只需要执行语句的后面添加.explain()db.meituan.find({node_id:"2"}).explain()返回的内容(json)并不适于查看,可以借助compass工具,可视化效果更佳如下图Documents Examined 查询到的文档个数 后面会提示索引使用情况COLLSCAN 表示未命中索引,进行了全表
2021-08-08 17:38:35 1482
原创 分布式共识算法paxos,Raft,ZAB原理
目录前言一、paxosbasic paxos证明角色过程缺陷Multi-paxos和paxos的区别过程二、RaftRaft和multi-paxos的区别问题定义角色定义选举过程日志同步过程网络故障处理ZAB与raft区别前言对于分布式中,多个节点的数据强一致性问题,通常采用如下策略或算法为解决方案。主从同步paxosbasic paxosmulti paxosfast paxosRaftZAB一、paxosbasic paxospaxos 首先假设通信是安全的证明
2021-07-31 19:43:08 864
原创 influxdb从理论到实战(rust)
目录前言一、简介1、基本概念2、Series3、Retention Policies二、命令/api 操作1.数据库与表的操作2.保留策略3.用户权限管理4.series/point/tag/field5.增删改6.查询api操作前言…略一、简介…略1、基本概念mysqlinfluxdb说明database/bucketdatabase数据库tablemeasurement类似mysql中表的概念recordtag + field + timestam
2021-07-25 16:19:06 987
原创 elasticsearch入门——golang
目录常用命令和操作golang操作连接es插入数据常用命令和操作查看es节点信息curl -s -XGET 'http://localhost:9200/_nodes/http?pretty=true’设置索引的副本数PUT /ticket/_settings { "number_of_replicas": 0}进行段合并POST /cs_indexs/_forcemerge?max_num_segments=1不再扩展集群 并修改后续的索引默认副本数PUT
2021-07-11 21:40:14 917 1
原创 redis各种场景下疑难杂症 (rust)
目录nosql 四大类nosql 四大类kv型以redis为代表,也是本文主要操作的对象文档型,MongoDB为代表:基于分布式文件存储,c++编写,处理大量文档,传输给为bson。ConthDB,没用过,不知道列存储数据库HBaseCassandra分布式文件系统图形关系数据库Neo4jInfoGrid...
2021-07-03 11:24:48 1360 1
原创 一个实用的rust日志板条箱,灰常好用
目录前言简介支持的日志等级简单栗子更多用法文档前言rust终将君临天下。但现在还处于发展的早期,虽然有很多日志包,但没有一款日志包用的顺手。这里推荐wd_log板条箱。非常使用,倾情推荐。支持功能如下: 打印等级设置 打印选项设置 自定义日志头 终端多种颜色打印 支持输出到文件 格式化输出 result自动处理 多字段组合输出 (coding)简介支持的日志等级DEBUGINFOWARNERRORPANIC简单栗子[dependencies]wd_log =
2021-05-16 14:09:25 596
原创 Rust 调用标准C接口的自定义c/c++库,FFI详解
目录前言关于库创建项目手动绑定自动绑定结构体union联合体enum枚举回调函数空指针析构ownershippanic前言没有前言,干就完事了。关于库本人环境是win10,vs2013。不管什么环境,用下面的文件制作出对应的动态库和静态库就可以。hello.h 文件#include "stdio.h"#include <iostream>using namespace std;#define EXTERN_C extern "C"#define DLLEXPORT __
2021-03-14 15:41:00 10948
原创 基于rust的rtmp流服务器wd_video
目录前言使用方法1. 安装编译2 rtmp推流拉流前言rust作为主打安全,高效的语言,用来做流媒体服务器是再适合不过的。这里安利一款rust实现的基于rtmp的流服务。关于项目的说明,架构可以参考项目主页。这里主要说一下使用方法。git地址:https://gitee.com/yutiandou/wd_video使用方法1. 安装编译首先下载代码。。。如下命令编译,前提需要安装好rust开发环境。作者的版本是:1.48.0编译运行命令:cargo build;.\target\de
2021-03-06 10:43:36 1575
原创 网络安全与渗透:内网渗透,Cobalt_Strike(十三)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法阅读本文前,请熟读并遵守中华人民共和国网络安全法:http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P020200618385401918830.pdf 目录中华人民共和国网络安全法简介安装简单使用监听器木马生成提权钓鱼网站克隆一个网站hta木马制作挂马 简介Cobalt Strike是一款美国Red Team开发的渗透测试神器,常被业界人称为CS。这款神器许多大佬们都
2021-02-09 11:42:27 484
原创 基于rust实现的事件系统,方便程序解耦
wd_event简介事件系统是受到c#的启发,基于事件系统可以更容易地实现程序解耦。因此,用rust也实现了一个类似的、但更丰富的轻量级事件开发包。crate地址:https://crates.io/crates/wd_eventgit地址:https://gitee.com/yutiandou/wd-event功能事件注册和调用(废话)Context 上下文delay event,delay cycle event,定时任务和循环任务task pool 任务池object pool
2020-12-31 09:52:38 986
原创 网络安全与渗透:xss 跨站脚本攻击(十二)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法阅读本文前,请熟读并遵守中华人民共和国网络安全法:http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P020200618385401918830.pdf 目录中华人民共和国网络安全法简介 简介...
2020-12-15 12:56:44 246
原创 网络安全与渗透:文件包含漏洞(十一)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法阅读本文前,请熟读并遵守中华人民共和国网络安全法:http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P020200618385401918830.pdf 目录中华人民共和国网络安全法简介 简介简单一句话,为了更好地使用代码的重用性,引入了文件包含函数,可以通过文件包含函数将文件包含进来,直接使用包含文件的代码。在包含文件时候,为了灵活包含文件,将被包含文件设置为变量,通过动态变量来
2020-12-07 14:09:33 223
原创 网络安全与渗透:文件上传漏洞,一文详解(十)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法阅读本文前,请熟读并遵守中华人民共和国网络安全法:http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P020200618385401918830.pdf 目录中华人民共和国网络安全法简介靶场搭建 简介文件上传漏洞是指由于程序员未对上传的文件进行严格的验证和过滤,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShel
2020-11-20 17:56:05 444 1
原创 网络安全与渗透:sql注入,一文详解(九)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法阅读本文前,请熟读并遵守中华人民共和国网络安全法:http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P020200618385401918830.pdf 目录中华人民共和国网络安全法简介常见数据库及端口常见数据库连接工具information_schema数据库sql注入常用函数 简介在owasp攻击排行榜中,sql注入始终名列前茅。sql注入可谓是网站安全隐患的头号大敌。那sql
2020-11-02 15:30:55 1084 2
原创 网络安全与渗透:漏扫——BurpSuite(八)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法阅读本文前,请熟读并遵守中华人民共和国网络安全法:http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P020200618385401918830.pdf 目录中华人民共和国网络安全法简介安装下载用户配置代理配置1.设置浏览器代理2.配置burpsuite监听3.配置证书拦截请求 简介莫得简介,扫就完事了 安装下载偷来的连接,照着装就完事了https://blog.c
2020-10-24 09:12:35 564
原创 网络安全与渗透:信息收集——FOFA,域名信息(六)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法阅读本文前,请熟读并遵守中华人民共和国网络安全法:http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P020200618385401918830.pdf 目录中华人民共和国网络安全法简介FOFA资产收集FOFA API调用简介官网:http://fofa.so/网络空间资产检索系统(FOFA)是世界上数据覆盖更完整的IT设备搜索引擎,拥有全球联网IT设备更全的DNA信息。探索全球互联网的资产信
2020-09-14 09:55:03 3167
原创 网络安全与渗透:信息收集——google浏览器插件,代理服务(五)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法阅读本文前,请熟读并遵守中华人民共和国网络安全法:http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P020200618385401918830.pdf 目录中华人民共和国网络安全法简介信息收集收集那些信息WappalyzerModheaderhacking代理服务什么是代理服务器如何搭建代理搭建过程简介一般的网络攻击在发起之前,都会进行信息收集,并且搭建代理以隐藏自己的ip 信息
2020-09-10 16:58:38 982 4
原创 网络安全与渗透:漏洞攻击—— msf(四)此生无悔入华夏,男儿何不带吴钩
目录msf简介msfconsole基本命令msf简介 msf(The Metasploit framewok)是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。msfconsole作用:管理生成exp,管理反弹的shell,通过反弹的shell进行后渗透。。。运行命令msfconsole数字代表模块功能数量模块简介:exploits:利用漏洞进行攻击模块payloads:攻击载荷(攻击效果
2020-08-26 13:11:03 1189
原创 网络安全与渗透:内网dns劫持——ettercap(三)此生无悔入华夏,男儿何不带吴钩
目录简介ettercap1.起一个钓鱼服务2.修改etterrcap配置3.简单操作简介略。。。ettercapettercap 是一款中间人攻击工具它能够进行arp欺骗,dns劫持等常见的中间人攻击1.起一个钓鱼服务如果有现成的钓鱼服务可以用现成的,如果没有的话可以用系统的首选修改/var/www/html下的index.html文件这里随便写点内容然后启动apache2服务systemctl start apache2打开浏览器可以看到2.修改etterrcap配置vi
2020-08-17 10:34:48 467
原创 网络安全与渗透:密码破解——xhydra,crunch,john(二)此生无悔入华夏,男儿何不带吴钩
目录简介xhydratargetpasswordstuningstart字典制作crunch命令使用简介莫得简介 xhydraxhydra(x九头蛇)一款支持多协议的账户,密码,口令的爆破软件我们只需要在kali的终端中输入xhydra,就可以使用xhydra了target这个界面主要是设置目标地址,端口,协议,选择输出参数passwords设置用户名,密码字字典,这里使用系统自带的字典Username:/usr/share/wfuzz/wordlist/others/n
2020-08-10 11:11:41 1353 4
原创 网络安全与渗透:kali系统,namp端口扫描(一)此生无悔入华夏,男儿何不带吴钩
目录前言kali系统安装vmware上安装kalinmap1.简单扫描2.参数扫描3.其他参数和命令4.zemap前言如今的时代,不是是美国的时代,更不是资本主义的时代,而是信息化的时代,更是网络时代,但当下,不是勒索病毒,就是ddos,可谓黑客猖獗我辈网络人,怎能视而不理,保护网络,保护国家安全,从我做起此生无悔入华夏,男儿何不带吴钩 kali系统安装网络攻击专用系统,正所谓kali学的好,监狱进的早kali玩的溜,牢饭吃到够vmware上安装
2020-08-03 10:35:05 835 1
原创 kv分布式系统,etcd+golang,入门
参考文章官网:https://etcd.io/godoc文档:https://pkg.go.dev/go.etcd.io/etcd/clientv3?tab=doc参考文章:https://www.liwenzhou.com/posts/Go/go_etcd/目录简介特点etcd对比zookeeper安装简单栗子下载开发包封装操作简介etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。特点完全复制:集群中的每个节点都可以使用
2020-07-27 13:43:35 609
原创 系统协调 zookeeper+golang入门
官网:https://zookeeper.apache.org/godoc文档:https://godoc.org/github.com/samuel/go-zookeeper/zk#Conn.GetW参考文章:https://www.cnblogs.com/zhichaoma/p/12640064.html目录简介安装简单栗子下载工具包封装操作方法测试观察者机制部分监听全局监听在上篇博文中说了kafka,它依赖于zookeeper,尽管在最新版中,kafka尽量在弱化zookeeper,但还是无法
2020-07-20 13:34:06 739
原创 消息队列,kafka+golang,基础
目录前言安装安装zookeeper安装docker验证go简单栗子下载包前言安装这里使用docker安装,首先安装zookeeper安装zookeeperdocker run -itd --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime zookeeper:3.6指定端口 2181/etc/localtime:同步本地时间和容器时间这里指定版本3.6,也可以不指定安装dockerdocker run -itd
2020-07-14 09:42:17 914
原创 微服务,系统监控和仪表盘,prometheus+grafana(七)
目录前言prometheusgrafana简单栗子go程序安装prometheus安装grafanadiy一个仪表go服务设置制作仪表前言在微服务中,系统监控和仪表盘的重要性就不bb了。prometheus详细信息参考官网:https://prometheus.io/Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源项目,并且独立于任何
2020-07-13 11:00:48 797
原创 微服务,链路追踪,opentracing+jaeger(六)
参考文档opentracing详解:https://pjw.io/articles/2018/05/08/opentracing-explanations/opentracing中文文档:https://wu-sheng.gitbooks.io/opentracing-io/content/jaeger教程:https://pjw.io/articles/2018/05/18/jaeger-tutorial/jaeger go语言文档:https://godoc.org/github.com/ube
2020-07-06 13:05:31 1405
openssl制作公钥密钥操作文档,小白级别
2019-10-31
monkey-1.6.9.tar.gz
2019-09-29
Linux分区工具Gparted-1.0.0
2019-08-16
windows下使应用程序获得管理员权限办法
2018-08-31
视频文件加密解密Dll
2018-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人