前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(译)Conduit 0.4.0:流量都去哪了?

(译)Conduit 0.4.0:流量都去哪了?

作者头像
崔秀龙
发布2019-07-23 11:18:24
5270
发布2019-07-23 11:18:24
举报
文章被收录于专栏:伪架构师

本周早些时候我们发布了 Conduit v0.4.0,这一版本在基于 Prometheus 的遥测系统方面,有了很大进步;同时还给微服务的除错提供了新的工具。

安装后的一分钟里,Conduit 给每个 Kubernetes 部署都提供了一个预配置的 Grafana Dashboard。这些 Dashboard 不只是成功率、请求量以及每服务延迟等常见指标,他还将每个指标按照依赖关系进行了分解。这样你就可以在不修改应用的情况下,轻松地回答“这个服务的流量是从哪里来的?”或者 “Foo 调用 Bar 的成功率如何”之类的问题了。

我的流量呢?

在一个微服务形态的应用中,运行中的服务之间的依赖关系是很重要的问题。每服务成功率固然重要,流入服务的请求来自何处同样是不可忽视的问题,更不必说依赖服务的故障情况了。通常这些问题都是最难回答的,但是现在我们有了 Conduit 的帮助,就有机会对这些问题进行简化了。

为了达成这一目标,0.4.0 中我们把 Conduit 的遥测系统中指标的获取改为拉取方式来实现。这一过程中我们还把 Conduit 的 Rust 代理进行了改进,他的指标中描述了所有请求的源、目的以及健康状况。拉取方式获取指标,降低了代理的复杂度,更加贴近 Prometheus 的生态情况。

这样,Conduit 的遥测系统现在非常稳定。能深入到 Kubernetes 中任何两个 Deployment、Pod 或者命名空间之间的请求频率、成功率以及延迟等指标。还可以使用 Prometheus 进行各种查询。当然了,我们还把所有的这些集成到了 CLI 工具中,微服务中的 “TOP” 命令,想过么?

动手环节

我们现在来运行一个简单的例子(要看完整的安装介绍,请参考 Conduit 起步指南)。

首先安装 Conduit CLI:

curl https://run.conduit.io/install | sh

然后在 Kubernetes 中安装 Conduit:

conduit install | kubectl apply -f -

最后,安装 emojivoto 演示应用,并且将其加入 Conduit Mesh:

curl https://raw.githubusercontent.com/runconduit/conduit-examples/master/emojivoto/emojivoto.yml | conduit inject - | kubectl apply -f -

演示应用中包含了一个 vote-bot 服务,不断地在产生流量。这个基于 AI 的机器人在为他最喜欢的表情进行投票,他会变得越来越精明。所以为了安全起见,我们建议你不要让他长期运行?。

让我们看看如何用 Conduit 在演示应用中获取流量走向:

先看看 Web 服务(确切的说是 Web Deployment)在做什么:

代码语言:javascript
复制
$ conduit stat -n emojivoto deployment web
NAME  MESHED  SUCCESS     RPS    LATENCY_P50  LATENCY_P95  LATENCY_P99
web      1/1   90.00%  2.0rps            2ms          4ms          9ms

voting 服务只有一个调用者,就是 web 服务。所以通过跟踪 Web 的依赖项,我们有了第一个需要监测的目标:voting 服务在被 web 服务调用的时候,有 83% 的成功率,这样我们就可以看看日志、跟踪或进行其他深入观察。

这只是 Conduit 众多功能中的一个例子。如果想要进一步探索,可以看看所有命名空间的成功率;各个命名空间以及每个 Deployment 调用某一命名空间的成功率;甚至是 Conduit 组件自身的成功率。

https://youtu.be/R5UDKgX72tg 还有我们录制的一个关于 Conduit 0.4 的视频。

下一步

我们的未来版本,会把指标和遥测能力扩展到其他的 Kubernetes 对象,例如 Pod 和 RS。另外我们还会把 conduit tap 命令也应用到这些对象上,让 stattap 完美配合。我们可能还会逐步为 Conduit 加入更多命令,来增强 Conduit 的遥测能力,敬请期待!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 伪架构师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 我的流量呢?
  • 动手环节
  • 下一步
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档