BLCL的博客小馆

归档 · 全部📢📢📢 阿里云双十一,2核2G3M的服务器,99元一年,新老用户续费同享!!

首页

关于

归档

golang ReverseProxy源码分析

ReverseProxy是golang自带的简单网络Daili工具,仅适合自己测试用,不过麻雀虽小五脏俱全,功能还是挺多的。今天我们一起分析下这个工具的源码。 功能支持 支持自定义修改响应内容 支持连接池 支持错误信息自定义处理 支持 websocket 服务 支持自定义负载均衡 支持 https Daili 支持 url 重写 简单使用 最简单使用: 1 2 3 4 5 6 7 8 9 10 11 12 13 //Daili服务器ip addr := "127.0.0.1:4001" //后端真实服务器ip rs1 := "http://127.0.0.1:2000" url1, err1 := url.Parse(rs1) if err1 != nil..

更多
loading..
云原生技术Kubernetes容器编排集群管理集群联邦

Kubernetes、集群联邦和资源分发

Kubernetes 从比较早的版本就声称单机群可以支持 5,000 节点,而且也没有计划在短期内提高单个 Kubernetes 集群支撑的节点数,如果需要在 Kubernetes 中支持 5,000 以上的节点,更推荐使用集群联邦(Federation)的方式。People frequently ask how far we are going to go in improving Kubernetes scalability. Currently we do not have plans to increase scalability beyond 5000-node clusters (within our SLOs) in the next few releases. If you need cl..

更多
loading..
其他Windows Serverdockerdocker desktop无docker desktop无GUIWindows SubLinuxwsl

云主机WindowsServer无GUI上如何安装Docker环境

分享一个在云主机上的无桌面环境的Windows Server上,不安装Docker Desktop,运行Docker。系统要求Windows2016及以上即可。起因前段时间,一朋友委托我研究一个技术方案。说他技术这边搞了一个分布式的Windows程序,依赖Docker环境,现在只能在电脑上安装,非常不方便维护,扩容起来也很麻烦。于是我也花了差不多花了一百多块钱,一个周末,买了一个云主机来研究研究。太长不看利用DOCKER_HOST参数将windows的docker客户端通过tcp方式连接到wsl内的dockerd服务参数字段daemon-socket-option说起来是很简单,第一次操作起来还是遇到了很多问题。研究现在因为已经知道结论了,所有写起来理所当然,实际上花了大把时间才得到这个结局。众所周知,W..

更多

CSS实现字体阴影效果

shadow 对于阴影我们一般可以设置以下几种效果水平偏移:正值向右偏移阴影,而负值向左偏移。垂直偏移:正值向上偏移阴影,而负值向下偏移。模糊半径:阴影的长度。长度越长,阴影就越大越轻。没有负值。传播半径:这是另一个长度值,较大的值会导致更大、更长的阴影。颜色:这定义了阴影的颜色,就像我们为 CSS 颜色属性所做的那样。inset:默认值(初始)会产生阴影。使用 inset 值移动元素框架内的阴影,从而产生内部阴影(只有box-shadow支持)box-shadow 一般来说,提到实现阴影效果,我们首先想到的是box-shadow,但是这个属性只能用在盒模型上,为了显示立体感如弹框、按钮等。<p style="box-shadow: 0 0 10px red;">HelloWorld</..

更多
loading..

nsq - 一条消息的生命周期(一)

本篇我们带着大家一起走完一遍nsq的生命周期。 经过前面几篇的学习,相信大家对nsq已经有了一个大概的了解,我在写这篇文章的时候也看了很多其他人写的教程,发现大家对于分析系统每个点写的很不错,但是都很少有整体串起来一起走一遍,所以,我打算分成2-3章来带着大家从nsq启动到创建一个topic,然后发一条消息,最后再开个消费者接收消息,中间的所有流程都带大家一起走一遍,从而让大家能够深入地理解nsq的整体运行机制。 今天,这篇文章是整个 《一条消息的生命周期》第一章,我会从nsq的启动,nsqlookupd连接等方面开始讲起。 启动nsq 相信看了nsq这个系列的童鞋应该都知道nsq的启动脚本在哪里了吧,没错。就是在apps/nsqd/main.go 文件。我们可以切到当前目录,不过在这之前我们要先启动位..

更多

nsq 源码 diskQueue 讲解

diskQueue是backendQueue接口的一个实现。backendQueue的作用是在实现在内存go channel缓冲区满的情况下对消息的处理的对象。 除了diskQueue外还有dummyBackendQueue实现了backendQueue接口。 对于临时(#ephemeral结尾)Topic/Channel,在创建时会使用dummyBackendQueue初始化backend, dummyBackendQueue只是为了统一临时和非临时Topic/Channel而写的,它只是实现了接口,不做任何实质上的操作, 因此在内存缓冲区满时直接丢弃消息。这也是临时Topic/Channel和非临时的一个比较大的差别。 每个非临时Topic/Channel,创建的时候使用diskQueue初始化ba..

更多

nsq Topic

与Topic相关的代码主要位于nsqd/topic.go中。 上一篇文字我们讲解了下nsq的启动流程。对nsq的整体框架有了一个大概的了解。本篇文章就是由大到小。对于topic这一部分进行详尽的讲解。 topic 管理着多个 channel 通过从 client 中获取消息,然后将消息发送到 channel 中传递给客户端.在 channel 初始化时会加载原有的 topic 并在最后统一执行 topic.Start(),新创建的 topic 会同步给 lookupd 后开始运行. nsqd 中通过创建创建多个 topic 来管理不同类别的频道. topic结构体: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2..

更多
loading..
CTFWriteUpPentest

Pentest | 2022 1337UP LIVE CTF Workthrough

Introduction 2022 1337UP LIVE CTF 比赛类型:Jeopardy[解题] 比赛形式:线上 比赛时间:2022-03-11 23:00 ~ 2022-03-12 23:00 比赛官网:https://ctf.intigriti.io/ 啊,好久没水博客了,最近打比赛基本是和队友一起看看题目,然而队友太强了基本不需要喵喵了,考虑到咱做的不多也比较懒于是懒得写 writeup 了。(你就是懒吧!呜呜,别打喵喵) 周末看到群友发了 1337UP LIVE CTF 这个国外的比赛,周六晚上就来瞄了一眼题目,看到了 可爱猫猫图片 这个题目,wow, how cute they are! Just do it! 这是道 偏渗透类型 的套题,以至于还单独分了个类,于是接下来就是一些 w..

更多
TECHNOLOGYARMFPU

我两周就写了三行代码 - ARM Cortex A9 中断与浮点数运算、FPU 问题

问题出现公司产品采用了 Xilinx Zynq 7z010 芯片,用于运动控制以及网络通讯。两周前,测试过程中发现网络通信会小概率出错,TCP 收到的数据 CRC 校验失败,无法稳定复现。设备平台概述:CPU: Cortex-A9 双核RAM: 1GB DDR3操作系统: FreeRTOS网络协议栈: lwip211定位过程怀疑应用层数据处理问题TCP 是二进制数据流,每个包的长度不固定,应用层也许会写错。于是我修改了应用层的处理方案,手动构造了定长的数据包,虽然会导致 TCP 流量大幅上涨,但是逻辑看起来更清晰。然而,修改后,似乎由于流量变大了,原来小概率出现的错误,现在大概率会出现!这也给 Debug 带来了有利的一面。怀疑网络通讯链路电磁干扰问题但是这个怀疑方向很快就被否定了,因为我用了 TCP 协..

更多
loading..

nsq 启动流程讲解

这篇文章我们就正式的开始分析nsq的代码了,上一篇给大家介绍了下nsq的特性和功能。再分析代码的同时,大家可以比对着我写的nsq精注版代码一遍看一遍调试。这样的效果更佳。 nsq精注版地址:nsq精注版 下面进入正题,nsqd的主函数位于apps/nsqd.go中的main函数。 在初始化的时候,它使用了第三方进程管理包 go-svc 来托管进程,go-svc有三个方法进行管理: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 func main() { if err := svc.Run(prg, syscall.SIGINT, syscall.SIGTERM); e..

更多
1555657585979