tech
linux:一台服务器最大能支持多少条 TCP 连接
linux:一台服务器最大能支持多少条 TCP 连接. "因为TCP端口号是16位无符号整数,最大 65535 ,所以一台服务器最多支持 65536 个TCP socket连接." 这是一个非常经典的误解! 即使是有多年网络编程经验的人,也会持有这个错误结论。 其中0-1023 端口是系统保留的端口,并不能被。
tech
linux:一台服务器最大能支持多少条 TCP 连接. "因为TCP端口号是16位无符号整数,最大 65535 ,所以一台服务器最多支持 65536 个TCP socket连接." 这是一个非常经典的误解! 即使是有多年网络编程经验的人,也会持有这个错误结论。 其中0-1023 端口是系统保留的端口,并不能被。
tech
Debunking the Misconception: Maximum Number of TCP Connections on a Server. Introduction There's a widespread misconception: Since TCP port numbers are 16-。
tech
最近想要系统的学习一下基础设施方面的知识,所以准备搭建一个学习环境,我没有多余的机器使用,只有一个MacBook Pro 2021 ,所以选择在笔记本上使用 Docker 搭建一套环境,目前看来第一步还是顺利的。 安装 GitLab Mac 的M1芯片使用的是ARM架构,所以我们去寻找 ARM架构的镜像, 我是用的是yrzr/gitlab-ce-arm64v8:latest 首先需要创建 gitlab-ce 的三个工作目录 etc、 log、 opt ,不然会报错 。 将volumes里面的配置修改成你的工作目录就可以了。这里暴露了两个端口9922、9980 因为是在本地使用,所以就没开放https的443 端口,后面也不准备使用https。 docker-compose.yaml version: "3.8" services: gitlab-ce: image: yrzr/gitlab-
tech
How To Set Up a GitLab Environment Locally on MacBook Pro. Recently, I decided to explore infrastructure concepts more deeply and set up a personal learnin。
tech
Introduction The previous article discussed two lock-free programming strategies: eliminating shared data and avoiding concurrent access to the same data through careful design. While achieving lock-free programming is ambitious, it could be more practical. Generally, when discussing lock-free techniques, the aim is to avoid locks, and using
tech
Go High-Performance Programming EP10: Two Useful Golang Lock-Free Programming Tips. In lock-free programming, the absence of locks is more superficial. Pro。
tech
对于无锁编程来讲,无锁只是一个表象,编程者设法组织 data+processing,重点在于如何消除 dataracing。而消除 dataracing 而言,传统的并发编程逻辑是采用关键区、排他性锁、读写锁等方式来保护 data 不会因为 processing 而导致错误读或错误写,那么对于无锁编程来说,则是通过消除 data 的共享性,或者消除并发操作 data 等方式来解决问题。 所以最典型的无锁编程技法包含两个技巧: 1. structure 2. bumper loop 其他的方法都是相似思路的具体衍生。 这里的“其他的方法”,是指完全不使用锁定或 CAS 的算法设计方案。本文中讨论的是如何设计数据结构及其处理器(算法)来防止加锁,甚至于连 CAS 也去除。 至于在共享的data上强行消除竞争读写问题的其他无锁方案,例如RingBuffer之类的工具类库,则是完全依赖于具体的 data 实体并在具体的 CPU 上进行设计,基本上是一种很受限的方法,
tech
SwissTable: A High-Performance Hash Table Implementation. Introduction In 2022, ByteDance proposed an issue recommending that Golang adopt SwissTable for i。
tech
SwissTable 会成为 Golang std map嘛?. 2022年,字节跳动给 Golang 提了 issue 建议把map的底层实现改成SwissTable的。2023年,dolt写了一篇博客 SwissMap: A smaller, faster Golang Hash Table 分享他们 设。
tech
Avoid memory leaks in Go by closing files and HTTP responses, managing goroutines properly, and using `defer` wisely. #GoLang #MemoryManagement
tech
常见限速算法的分析与实现. 在软件架构中,限流是一种控制资源使用和保护系统安全的重要机制。它通过限制在一定时间内可以处理的请求数量,来防止系统过载,确保系统在高负载情况下仍能保持稳定运行。 本文的目标是分析和实现几种常见的限流算法,以及分析他们优缺点。最后我们探讨一下真实业务代码中的一些限流设计。 This。
tech
Common Rate Limiting Algorithms: Analysis and Implementation. Rate limiting is a critical mechanism in software architecture that controls resource usage a。