内容简介:Segment刚刚启动了在Segment,我们 默认在Go中构建新服务,Go语言很简单,因此新的团队成员很快就会加入代码库。工具链很快,因此如果开发人员打破了代码、或在测试或在与其他系统集成时出现问题时都会立即得到反馈,运行时很快,因此它在大规模上表现出色。
Segment刚刚启动了 Segment Config API ( 在这里 自己试试) - 一组公共REST API,可以让您管理Segment配置。在这个Config API的后面是使用Go,GRPC 和Envoy构建的。
在Segment,我们 默认在 Go 中构建新服务,Go语言很简单,因此新的团队成员很快就会加入代码库。工具链很快,因此如果开发人员打破了代码、或在测试或在与其他系统集成时出现问题时都会立即得到反馈,运行时很快,因此它在大规模上表现出色。
对于最新一轮的API,我们采用了GRPC 服务框架
借助于API标准的 Google API设计指南 ,uber/prototool格式化、linting .protos以及lyft/protoc-gen-validate定义字段验证以及grpc-gateway定义REST映射等生态系统工具,Protocol Buffer服务定义语言可以轻松设计类型安全且一致的API 。
通过精心设计的.proto,它可以轻松生成Go 服务器接口和TypeScript 客户端,在语言之间提供类型安全的RPC。
对于API网关和RPC,我们采用了Envoy服务代理
面向互联网的segmentapis.com端点是一个Envoy 前端代理,可对每个请求进行速率限制和验证。然后,它将REST/JSON 请求转码为上游GRPC 请求。上游GRPC 服务器运行着为Datadog微服务统计配置的Envoy边车代理。其结果是API 的安全性、可靠性和一致观察性通过Envoy配置,而不是代码。
我们尝试过Swagger服务定义,但规范非常庞大,生成的客户端和服务器存根有很多不足之处。GRPC和.proto以及Go 实现感觉设计和实现更好,由于GRPC工具和生态系统,您可以从.protos生成Swagger,但实际上不可能采用其他方式。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 使用Redis作为消息队列实现生产消费与发布订阅
- Kubernetes 1.13发布:利用Kubeadm简化集群管理,容器存储接口以及作为默认DNS的CoreDNS全面实现普...
- 使用Elasticsearch作为主数据存储
- 如何把MongoDB作为循环队列
- 使用 utterances 作为博客评论组件
- 作为项目经理应该串联起哪些流程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
软件测试经验与教训
Cem Kaner、James Bach、Bret Pettichord / 机械工业出版社 / 2004-1 / 35.00
本书汇总了293条来自软件测试界顶尖专家的经验与建议,阐述了如何做好测试工作、如何管理测试,以及如何澄清有关软件测试的常见误解,读者可直接将这些建议用于自己的测试项目工作中。这些经验中的每一条都是与软件测试有关的一个观点,观点后面是针对运用该测试经验的方法、时机和原因的解释或例子。 本书还提供了有关如何将本书提供的经验有选择性地运用到读者实际项目环境中的建议,在所有关键问题上所积累的经验,以......一起来看看 《软件测试经验与教训》 这本书的介绍吧!