一周 Go World 新鲜事-祝大家开工大吉!

01

使用Golang的Elasticsearch查询示例

Elastic中的查询与标准(不)SQL中的查询有很大不同。即使最终结果几乎相同(从表A得到全部,按B列排序,C desc在列D如'E'),并且您可以轻松地在这两者之间绘制一条线,但Elastic中查询的复杂性是与SQL相比要高得多。为了在我们的Elastic服务器上执行查询,我们使用了Olivere的令人惊叹的弹性库(版本5),尽管下面的大多数查询也可以在其他版本上工作。


出自GoCN每日新闻(2018-02-17)

02

Go的HTTP Server-Timing

这是一个包含使用HTTP Server-Timing和Go的中间件的库 。该头允许服务器从后端发送定时信息,例如数据库访问时间,文件读取等。然后可以在标准浏览器开发人员工具中检查定时信息


出自GoCN每日新闻(2018-02-19)

03

Go 竞争检查和修复

Go 在构建并发程序的易用性已被众所周知。但是,所有这些并发性的情况下,都会出现可怕的数据竞争 - 如果在代码中遇到问题,可能会遇到最难以调试的错误之一。

在这篇文章中,我们将通过一个引起数据竞争的示例程序,并使用检测器工具检测竞争状况。然后,我们将看看一些方法来解决竞争条件,同时仍然保持我们代码的核心逻辑完整。


出自GoCN每日新闻(2018-02-20)

04

Bazel构建Go的应用

在InPlayer中,我们有一个使用微服务架构风格构建的平台,该架构基本上将应用程序组合为许多不同服务的集合。在这篇文章中,我将讨论我们如何构建,构建和部署我们的Go应用程序。

我们编写的每一个Go代码位于单个Git存储库中 - monorepo。由于每个库和服务都集中在一个项目中,因此我们可以在不需要某些外部软件包管理工具的情况下进行交叉更改。基本上,代码不可能不同步,我们所做的每个更改都可以被视为一个单元。虽然好处很明显,但与Go monorepo合作面临的挑战是如何高效地构建和测试每个软件包。


出自GoCN每日新闻(2018-02-22)

05

生产环境上的代码迁移:重写Uber 无范式数据仓库的分片层

2014年,优步工程建立了Schemaless,容错和可扩展的数据存储库,以促进公司的快速发展。在2016年单独部署了超过40个无模式实例和数千个存储节点。

随着业务的增长,资源利用率和延迟也在增长; 为了保持Schemaless的高性能,Uber需要一个可以大规模执行的解决方案。因此重新编写了Schemaless的一系列Python工作者节点的Go(一种对轻量级并发支持内置支持的语言),这样数据存储可以获得显着的性能提升,Uber将产品系统从旧实现迁移到新实现- 尽管仍在生产中。这个过程被称为Frontless项目,表明有可能在不中断正在运行的服务的情况下重写大规模数据存储的前端。

在本文中,Uber 如何将无模式分片层从Python迁移到Go,这一过程使Uber 能够以更少的资源处理更多的流量,并改善了服务中的用户体验。


出自GoCN每日新闻(2018-02-23)

点击“ 阅读原文 ”后进入左上角“每日新闻”,查看本周更多新资讯
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值