1. 主流软件负载均衡器对比 (LVS、Nginx、HAproxy)

    负载均衡的三种实现方式 基于 DNS 负载均衡 直接通过 DNS 来实现负载均衡。优点是非常简单,缺点是调整后不知道啥时生效 (当然正常情况下几十分钟,长的也可能更长) 基于硬件负载均衡 购买硬件,也就是我们常常说的 F5(F5 Network Big-IP),不过 F5 就贵一般来说单台硬件也得几十万块,要是搞个双机,多机就更贵了 基于软件负载均衡 基于软件的方式也非常多,类似几个主流 LVS、Nginx、HAproxy (当然 IBM 也有个 HIS),接下来就针对以下几种具体说明:

    2021/07/28 lvc nginx haproxy

  2. http 网络状态码大全

    1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。

    2021/07/28 http status

  3. WebAssembly

    自从引入计算机以来,本地应用程序的性能有了巨大的提高。相比之下,web 应用程序相当慢,因为 JS 一开始并不是为了速度而构建的。但是由于浏览器之间的激烈竞争以及 JS 引擎如 V8 的快速开发,使得 JS 能够在机器上快速运行。但是它仍然不能超过本机应用程序的性能。这主要是因为 JS 代码必须经历几个进程才能生成机器码。

    2021/07/26 webassembly

  4. OpenStack 社区部署工具 Devstack

    为什么需要 Devstack OpenStack 是一个十分复杂的分布式系统,部署难度较大,调试也较困难。

    2021/07/26 openstack devstack

  5. Makefile

    makefile 介绍 make 命令执行时,需要一个 makefile 文件,以告诉 make 命令需要怎么样的去编译和链接程序。

    2021/07/26 makefile

  6. golang 不安全编程

    不安全编程?用 go 语言以来也没发现有啥不安全的啊,而且 go 里面有垃圾回收,也不需要我们来管理内存。当听到不安全编程这几个字,唯一能想到的也就是指针了,只有指针才可能导致不安全问题。我们知道 go 中是有指针的,但是 go 的指针并不能像 C 语言中的指针一样可以进行运算,因此在提供了指针的便利性的同时,又保证了安全。关于 go 中的指针我们之前已经说过了,以及它都做了哪些限制。

    2021/07/26 golang unsafe programming

  7. golang 黑魔法 (string 与 []byte 转换)

    string 类型和 [] byte 类型是我们编程时最常使用到的数据结构。本文将探讨两者之间的转换方式,通过分析它们之间的内在联系来拨开迷雾。

    2021/07/26 golang string byte coverted

  8. golang 内存分配

    在内存从分配到回收的生命周期中,内存不再被使用的时候,标准库会自动执行 Go 的内存管理。虽然开发者不必操心这些细节,但是 Go 语言所做的底层管理经过了很好的优化,同时有很多有趣的概念。

    2021/07/26 golang memory allocation

  9. openstack 各服务重启命令

    重启 openstack 的整个服务 openstack-service restart

    2021/07/25 openstack restart cli

  10. Linux ssh 连接超时断开问题

    现象 在使用 ssh 连接 Linux 之后,搁置一段时间会自动断开,ctrl + c 也没反应。

    2021/07/22 linux ssh timeout