云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

CDN_银行数据库设计_评分榜

小七 141 0

我们一直在用Go做什么

差不多两年前,CloudFlare开始与Go合作。一开始只是在一个网络和大量并发的项目上进行的实验,现在已经变成了对多个服务的全面、生产性使用。今天Go是CloudFlare服务的核心,包括处理高延迟HTTP连接的压缩、我们的整个DNS基础设施、SSL、负载测试等等。我在2012年7月第一次写关于CloudFlare使用Go-back的文章。当时只有一个CloudFlare项目,Railgun,是用Go编写的,但是其他项目在公司周围开始萌芽。今天我们有许多重要的项目要做。所以,我们用一个简短的清单来庆祝围棋的4岁生日。RRDN公司RRDNS是一个DNS代理,用于帮助扩展CloudFlare的DNS基础设施。我们的DNS已经非常快了,我们想让它更快、更可靠、更能抵御攻击。RRDNS提供了响应速率限制以阻止DNS攻击、缓存以降低数据库负载、负载平衡以检测中断的上游、无缝二进制升级(无服务中断)、CNAME扁平化等。它建立在一个模块化框架之上,允许每个行为的实现存在于单独维护的模块中。这种模块化对于接口来说很简单,允许每个模块保持严格的自包含,但保持实现的灵活性(有些使用cgo,另一些使用后台工作者)。goroutine专用于每个请求来强制隔离,其中死机被恢复并记录下来,而不是使服务器崩溃。如果没有Go提供的延迟机制,在处理死机时避免使服务器处于不良状态所需的保证是不可能的。其他语言特性简化了编写新模块的复杂性;垃圾回收允许我们避免复杂的引用计数方案,并将精力集中在业务逻辑上。管理并发请求对共享数据的访问也很容易,可以将其包装在goroutine中,也可以使用读写锁。轨道炮

Railgun

Railgun是CloudFlare的压缩技术,用于加快CloudFlare数据中心和原始web服务器之间的连接(尤其是当它们之间存在高延迟时)。它100%是用Go编写的,并根据这些页面的最新版本执行web页面(和其他文本资产)的动态压缩,以发送尽可能少的数据。Railgun还可以帮助缓存以前不可缓存的资产(例如动态生成的web页面),它可以发现web页面之间随时间的变化,或者不同用户之间的微小变化。现在,CloudFlare客户广泛使用Railgun来创建响应式网站,无论最终用户在世界上何处。现在,它被CloudFlare客户和托管合作伙伴广泛使用,并实现了令人印象深刻的现实世界加速,包括更快的TTFB和更好的页面加载时间,以及带宽节约,这将为使用AWS等服务的人带来额外的节省。红色十月

寻找红色十月

Red十月是两人规则控制机制的加密安全实现。它是一个基于软件的加密和解密服务器。服务器允许授权的个人以一种没有人可以解密的方式对有效负载进行加密。要解密有效负载,必须至少有两个经过授权的个人登录到服务器。有效载荷的解密以加密方式与授权个人的登录凭证相关联,并且仅在解密期间保存在内存中。我们将使用Red十月来保护非常敏感的材料(例如私有加密密钥),这样就不会有任何一个CloudFlare员工(或单个攻击者)能够访问它们。在接下来的几个月里,我们将详细介绍保护CloudFlare安全的加密基础。SSL绑定器

链

SSL Bundler允许我们获取客户自己的SSL证书,并计算最快、最短的中间证书链,可用于验证连接。当有人上传自定义SSL证书时,我们使用中间证书目录来构建从上传的证书到可信浏览器根目录的所有可能的链。然后,我们根据一系列因素对这些链进行排序,包括:证书链的长度根证书在浏览器和其他客户端中的普遍存在链中每个步骤的安全性(例如,它们的扩展密钥使用是否包括服务器身份验证)链中所有步骤的有效期长度其结果是一个小型、快速和强大的服务器捆绑包,同时拥有无处不在的浏览器和客户端支持。然后,我们在建立SSL连接时提供证书链,以便浏览器能够尽快安全地验证SSL连接。还不止这些我们也在试验基于围棋的软件,比如CoreOS(我们正在使用他们的goraft库)和Docker。我们为京都大亨、HTTP服务器、SPDY和memcached编写了内部的负载测试工具。我们已经开源了我们的Go-stream处理库,一个用于高性能系统日志的Go包装器,我们为Kyoto Cabinet所做的Go绑定更改,以及一个用于"卷曲"SPDY站点的工具。当然,我们一直在为Go自己做贡献。All-in-All-Go是CloudFlare使用的主要语言之一,从这里看来,它有着光明的未来。

Go's 4岁生日

四岁生日快乐去吧!(是的,我们正在伦敦和旧金山招聘围棋程序员)