性能大杀器epoll
C10K 单机同时处理 1万个请求(并发连接 1 万)的问题,最早由 Dan Kegel 在 1999 年提出。那时的服务器还只是 32 位系统,运行着 Linux 2.2 版本(后来又升级到了 2.4 和 2.6,而 2.6 才支持 x86_64),只配置了很少的内存(2GB)和千兆网卡。在这样的系统能实现C10K问题吗?
这在当年看似十分难以实现的问题,在当下epoll这个性能大杀器实现了我们单机并发10K的梦想。
C10K 单机同时处理 1万个请求(并发连接 1 万)的问题,最早由 Dan Kegel 在 1999 年提出。那时的服务器还只是 32 位系统,运行着 Linux 2.2 版本(后来又升级到了 2.4 和 2.6,而 2.6 才支持 x86_64),只配置了很少的内存(2GB)和千兆网卡。在这样的系统能实现C10K问题吗?
这在当年看似十分难以实现的问题,在当下epoll这个性能大杀器实现了我们单机并发10K的梦想。
etcd 是一个强一致性的分布式键值存储系统,可以提供可靠的分布式集群的数据访问方式。
etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines.
refer: https://etcd.io/
VMTrafficShark是参考 TrafficShark 改造后的弱网模拟和抓包工具。其本质是参考Facebook开源的弱网模拟器 ATC 。方便应用开发测试人员模拟弱网环境下的用户体验。VMTrafficShark是基于Vmware/VirtualBox 虚拟机,方便移动部署,一键开机,配置灵活,功能强大。
承接 TLS详解(一),本文主要以源码的视角介绍一下TLS的整体过程,这里以 GoTLS (golang 自己按照 RFC 实现的一套 tls)为切入点还原整个TLS过程。主要介绍 TLS 的 handshake protocol 和 record protocol。
TLS的设计目标是构建一个安全传输层(Transport Layer Security ),在基于连接的传输层(如tcp)之上提供安全加密的通信信道。它是旨在防止窃听,篡改和消息伪造的 IETF 标准。常见应用程序包括Web浏览器,即时消息传递,电子邮件和IP语音都在使用TLS。
Title From What is Transport Layer Security (TLS)?
函数式编程是一种编程范式,常见的编程范式有 命令式编程(Imperative programming),函数式,逻辑式。在函数式编程中,函数是一等公民。函数可以在任何地方定义,可以作为参数,返回值等。下面从Python 或 Golang 为例介绍一下函数式编程。