[ 翻译 ] WePay服务网格系统的高可用

在本系列的前面两篇文章,在Webpay中使用Linkerd作为服务网格代理以及Sidecar和DaemonSet: 容器模式之争中,我们深入探讨了一些服务网格的细节,分别是服务网格代理( Linkerd)和这些代理的容器模式。 在本系列的第三部分中,我们将站在一个更高层面来看待服务网格系统。具体来说,我们将会从监控和告警两个角度来查看服务网格系统的健康性,并讲述如何使用各组数据来定义WePay基础设施中服务网格架构的高可用。 全景图 和我们在本系列中前面讨论的服务网格设定一样,这里给出的例子是一个跑在Google Kubernetes Engine(GKE)的Kubernetes集群上的高可用及模块化的服务网格。 我们在此之前经历了几次服务网格架构设计的迭代,而支持模块化的那个最能满足我们的…

Read More

[ 翻译 ] Sidecar和DaemonSet: 容器模式之争

在我们最近的文章中,我们介绍了使用Linkerd作为服务网格代理,并发起了一系列的文章,记录了WePay工程团队对于将服务网格和gRPC这样的模式和技术引入到基础设施的看法。 针对本系列的第二部分,我们将重点介绍一些我们一直在试验并且在Google Kubernetes Engine(GKE)中使用的容器模式。具体来说,我们将基础架构的一些服务(服务网格代理和其他代理等)引入到一个面向服务架构(SOA)的Kubernetes集群时用到了sidecar和DaemonSet两种模式。 战场 很久以前,在非常早期的Kubernetes集群中,许多微服务都是诞生自Google Cloud Platform项目,它们需要借助基础设施来完成日志采集,请求路由,监控度量及其他类似的工具集或者流程。随着时间…

Read More

[ 翻译 ] 在WePay中使用Linkerd作为服务网格代理

在接下来的几个月里,我们将会编写一系列的文章,记录WePay工程团队从传统的负载均衡迁移到Google Kubernetes Engine(GKE)上的服务网络的历程。 在本系列的第一部分里,我们不妨一起来看看之前使用过的一些路由和负载均衡方案,把它们和我们看过的可能作为服务网格代理的服务做个对比,以及它们是如何改变我们基础设施的操作模式。 图1: 使用sidecar代理模式的数据面板 图1展示了一个数据面板的简化版,这是服务网格里的术语,其中服务X通过它的sidecar代理向服务Y发送请求。由于服务X是通过它的代理发送请求,因此请求将首先传递给服务X的代理(PX),然后在到达本次请求的目的地,服务Y之前会先发送给服务Y的代理(PY)。在大多数情况下,PX会通过一个服务发现的服务找到PY,例…

Read More

[ 翻译 ] (篇一)Lyft Envoy 入门上手,为微服务弹性助力

【编者的话】Envoy是一款由 Lyft 开源的7层代理和通信总线,本文作者就Envoy的背景、主打功能特性以及一些配置细节做了简单介绍。 使用微服务来解决现实世界中遇到的问题常常会比简单地编写代码更加深入。你需要测试你的服务。你需要弄清楚如何进行持续部署。你需要找出一个服务之间干净,优雅,弹性的交互方式。 Lyft公司出品的Envoy是一款非常有趣的工具,它可以帮助服务之间“互相交谈”。 Lyft Envoy概览 Envoy Proxy是一款现代化的,高性能,小体积的边缘及服务代理。Enovy为用户的服务加入了弹性和监测能力,它是通过一种对服务透明的方式做到这一点的。你可能会觉得很奇怪,我们为什么要给一个自称为代理的家伙加油打气呢 —— 毕竟,在此之前业内已经出现了无数款代理软件,其中还包…

Read More

[ 翻译 ] Kubernetes 新手指南

Kubernetes现已成为在私有云,公共云以及混合云环境中大规模部署容器化应用程序的事实标准。业内最大的几家公有云平台AWS,Google Cloud,Azure,IBM Cloud以及Oracle Cloud现已提供Kubernetes托管服务。几年前,RedHat完全重写了他们的Openshift实现以适配Kubernetes,并且和Kubernetes社区一起合作实现了下一代容器平台。在Kubernetes变得受欢迎后不久,Mesosphere便将Kubernetes的主要功能(如容器分组,覆盖网络,4层路由,secret管理等)整合到他们的容器平台DC/OS中。DC/OS还将Kubernetes作为一个和Marathon相似的容器调度器集成进来。Pivotal最近推出了基于Kube…

Read More

[ 翻译 ] Thanos:大规模prometheus集群解决方案

【编者的话】Improbable开源了他们的Prometheus高可用解决方案Thanos,提供Prometheus的无缝集成,并为它带来了全局视图和不受限制的历史数据存储能力。 Fabian Reinartz是一名软件工程师,喜欢用GO语言造轮子并且热衷于解决难题。他是Prometheus的维护者并且是Kubernetes instrumentation特别兴趣小组(Kubernetes SIG instrumentation)的联合发起人。过去,他是SoundCloud的一名线上工程师,并且领导着CoreOS的监控团队。如今他在Google工作。 Bartek Plotka是Improbable的一名基础设施软件工程师。他对一些新兴技术和分布式系统的问题非常感兴趣。凭借着曾经在Intel…

Read More