golang多版本管理
在我们的开发环境中,使多个golang版本并存。
大部分情况下,一个比较新的golang版本就能满足我们的日常的开发需求。 但是项目中,因为协作的原因,或者由于项目启动比较早,可能我们不同的工程需要用不同的golang版本。甚至有些工作用比较新的版本编译不了。 这时候,我们就需要让本地的开发环境支持多个golang版本。
……腾飞中的个人博客
在我们的开发环境中,使多个golang版本并存。
大部分情况下,一个比较新的golang版本就能满足我们的日常的开发需求。 但是项目中,因为协作的原因,或者由于项目启动比较早,可能我们不同的工程需要用不同的golang版本。甚至有些工作用比较新的版本编译不了。 这时候,我们就需要让本地的开发环境支持多个golang版本。
……
主要分层汇接方式。纵向分为骨干网、城域网、接入网三个层级。
骨干网是最顶层的省际高速网络,基础电信运营商在各省会及主要城市设置骨干节点,并在节点间设置直联路,共同构成骨干网。
骨干网内分了核心节点和接入节点。
fdump是一个创建抓二进制包解析程序的框架。 对于自定义的二进制通信协议,在调试的时候会很困难。无论tcpdump还是wireshark抓到包都不能直接看到里面的内容。
……redis于3.2版本加入了geohash的数据库结构。使坐标的计算变得非常方便。 下面对redis的geohash做性能测试,看可以支持怎样的并发。
……linux使用ntp客户端自动更新时间。
使用ntp客户端工具ntpdate定期执行来进行同步时间。ntpdate只需要加ntp服务器的机器即可。
假如ntp的服务器为10.1.2.3,则同步命令为ntpdate 10.1.2.3
。同步完时间后,
还可以使用hwclock -w
来同步到硬件时间。
服务器超时时间和请求列表大小关乎程序的健壮性。设置过小,会导致有效的请求被丢掉。 设置过大,严重的情况下会引起雪崩。
很多后台码农对超时时间的设置都没什么概念,特别是刚毕业的后台码农。 一般都是参照前人的代码,设置一个相同的超时,而且一般都是比较大的超时,只要程序能跑就没问题了。
……深入了解conntrack调优。
netfilter是linux内在的一个软件框架,用来管理网络数据包。
netfilter提供了5个hook来进行管理网络包。如下图:
libpcap是一个开源的,用于捕捉网络包的库。可以在大部分*nix
系统下运行。另外,
还有一个windows版本的叫做winpcap。
包捕获是收集网络上数据的过程。
……nginx使用的平滑权重轮询算法介绍以及原理分析。
轮询调度非常简单,就是每次选择下一个节点进行调度。比如{a, b, c}
三个节点,第一次选择a,
第二次选择b,第三次选择c,接下来又从头开始。
mongo的跨集群复制集同步方案。
在生产环境上使用mongo,需要考虑容灾。在跨idc的容灾方案上,我们需要把数据库同步到其他的idc去, 这样即使一个idc挂了,另一个idc还可以服务,而且数据不会丢。
……