Jaeger

Service Mesh对比:Istio与Linkerd

蹲街弑〆低调 提交于 2020-09-24 06:03:40
原文发表于 kubernetes中文社区 ,为作者原创翻译 , 原文地址 更多kubernetes文章,请多关注 kubernetes中文社区 目录 Service Mesh简介 Istio 架构(Architecture) 组件(Components) 核心功能 Linkerd Architecture ​控制平面(Control Plane) 数据平面(Data Plane): Service Mesh对比:Istio与Linkerd 结论 参考文献 根据 CNCF 的 最新年度调查 ,很多组织对Service Mesh表现出很高的兴趣,并且有一部分已经在生产环境中使用它们。你可能不知道Linkerd是市场上第一个Service Mesh,但是Istio使Service Mesh更受欢迎。这两个项目都是最前沿的项目,而且竞争非常激烈,因此很难选择一个项目。 在本篇文章中,我们将和你一起了解Istio和Linkerd架构,组件,并比较它们的产品以帮助你做出明智的决定。 Service Mesh简介 在过去的几年中,微服务架构已成为软件设计中流行的样式。在这种架构中,我们将应用程序分解为可独立部署的服务。这些服务通常是轻量级的,多语言的,并且通常由各种职能团队进行开发部署。 当某些服务数量增加,难以管理且越来越复杂时,微服务架构将一直有效。但这也在管理安全性

Service Mesh 中的可观察性实践

旧巷老猫 提交于 2020-08-11 02:32:24
Service Mesh Virtual Meetup 是 ServiceMesher 社区和 CNCF 联合主办的线上系列直播。本期为 Service Mesh Virtual Meetup#1 ,邀请了四位来自不同公司的嘉宾,从不同角度展开了 Service Mesh 的应用实践分享,分享涵盖如何使用 SkyWalking 来观测 Service Mesh,来自陌陌和百度的 Service Mesh 生产实践,Service Mesh 的可观察性和生产实践以及与传统微服务监控的区别。 本文根据5月14日晚,G7 微服务架构师叶志远的主题分享《Service Mesh 高可用在企业级生产中的实践》整理。文末包含本次分享的视频回顾链接以及 PPT 下载地址。 前言 谈到 Service Mesh,人们总是想起微服务和服务治理,从 Dubbo 到 Spring Cloud (2016开始进入国内研发的视野,2017年繁荣)再到 Service Mesh (2018年开始被大家所熟悉),正所谓长江后浪推前浪,作为后浪,Service Mesh 别无选择,而 Spring Cloud 对 Service Mesh 满怀羡慕,微服务架构的出现与繁荣,是互联网时代架构形式的巨大突破。Service Mesh 具有一定的学习成本,实际上在国内的落地案例不多,大多是云商与头部企业

谁说Cat不能做链路跟踪的,给我站出来

こ雲淡風輕ζ 提交于 2020-08-09 10:46:44
背景 链路跟踪,我们有很多可选项。常见的有 zipkin,pinpoint,skywalking,jaeger 等。 基本上都是根据谷歌的《Dapper 大规模分布式系统的跟踪系统》这篇论文发展出来的。 今天讲下 Cat 里的链路跟踪要如何来实现,没用过 Cat 的同学可以查看我的这篇文章 《熬夜之作:一文带你了解 Cat 分布式监控》进行了解。 在 Cat 中可以很方便的看到每个请求的总耗时以及业务操作,数据库操作的耗时情况。对于服务之间的调用也可以通过埋点的方式进行监控。 如下图,可以看出请求内发起了一次 RPC 的调用,callRPC 开头的那条记录。耗时 11ms, 但是这个 RPC 服务内部耗时花在哪里了,在这边不能直接查看,只能去另一个服务中查看,不是很方便。 图片 详细的我画了一张图说明下现在的问题: 从上图可以看出,一个请求经过了多个服务,每个服务中对远程调用或者本地调用都有埋点,这样就能监控到调用的异常和性能指标。 下面一部分是在 Cat 中我们去查看这些指标的场景,Cat 中的数据展示是以项目维度来展示的,所以每个服务都有自己的监控数据。 如果我想要知道刚刚那次请求,在整个链路中哪里最慢,耗时在哪里,我得分别去 4 个服务下面才能看到这些信息,不直观。 实现方式 如下图所示: 从网关到服务,从服务到服务,都需要将 Trace 信息进行传递才可以将整个链路串起来

国际免费版 新冠疫情数据分析APP正式发布!

你说的曾经没有我的故事 提交于 2020-08-07 13:22:42
简介 在今年2月初, SLS 已经发布针对新冠病毒肺炎疫情国内动态展示分析 APP,目前该能力全面开放给政府、社区、第三方平台和开放者进行广泛应用, 完全免费开放 。还没有关注过的同学可以通过以下链接了解背景: 新冠病毒疫情分析 APP 官方文档 云栖博文、直播 最近,随着新冠病毒肺炎疫情在全球爆发, SLS 又推出了跟踪关注全球范围疫情动态的分析大盘。与国内大盘主要关注国内疫情(数据来源于央视新闻、人民日报、各省市卫健委公告)相比,国际疫情大盘则是跟踪关注全球范围的疫情动态,数据来源是被国际上广泛引用的 约翰·霍普金斯大学开源数据集 。 SLS 阿里云日志服务(SLS)是针对日志类数据的一站式服务,无需开发就能快捷完成海量日志数据的采集、消费、投递以及查询分析等功能,提升运维、运营效率。日志服务主要包括实时采集与消费、数据投递、查询与实时分析等功能,适用于从实时监控到数据仓库的各种开发、运维、运营与安全场景。 作为日志分析中台,日志服务提供了一站式的数据采集、加工、查询分析、AI计算、可视化,并支持互联互通。 亮点 1. 提供规整的疫情数据,并每天定时同步更新 SLS 已经将疫情相关数据进行收集和规整,每天定时更新,并形成可视化平台覆盖全球各个国家/地区、省份/州的疫情信息。你只需要专注在数据的分析和展示,其它繁琐的细节 SLS 都已经处理好。 2. 预定义丰富数据大盘

5个规则,确保你的微服务优化运行

≡放荡痞女 提交于 2020-08-07 06:17:07
最近几年好像大家都开始对微服务着迷,与此同时单体架构也在慢慢淡出人们的视线。 当然,热门的趋势总是来来去去,而且它们所受到的关注往往被媒体夸大了,实际情况并不总是如此。不过,对于微服务来说,人们似乎已经达成共识,认为这个趋势会一直存在下去。这是有道理的。从概念的角度来说,微服务扩展了工程师们几十年来采用的相同原则。 一旦你开始使用微服务架构,也许你需要本文中提到的5个规则,帮助你成功运行它们。 微服务的另一面 关注点分离(SoC)是一项设计原则,规定软件的构建应根据 "关注点 "或总体功能来确定不同的部分,30多年来一直被用来决定如何构建技术。在单体应用中,它体现在典型的3层架构中的表现层、业务层和数据层的分离。 微服务采用了这个概念,并将其颠覆。它们将同一个应用程序以这样的方式分离出来,应用程序的单一代码库可以被分解并单独部署。这样做的好处是巨大的,但也是有代价的,通常体现在时间和金钱两方面的运维成本较高。除了将现有的应用程序过渡到容器所带来的巨大的前期投资之外,维护该应用程序也带来了新的挑战。 挑战1:似乎很难监控整体 虽然单体应用程序也有其自身的挑战,但在单体中回滚一个“坏”版本的过程是相当简单的。在容器化应用中,事情就变得复杂许多。无论你是将单体应用逐步分解为微服务,还是从头开始构建一个新系统,你现在都有更多的服务需要监控。其中每一个都可能会: 使用不同的技术和/或语言。

grafana 7.0 支持分布式追踪框架的dashboard 展示

橙三吉。 提交于 2020-08-05 10:34:22
grafana 7.0 最近发布了,添加了对于分布式追踪(opentracing)的展示支持,同时界面ui也有调整 以下是一个简单的试用 环境准备 docker-compose 文件 version: "3" services: grafana: image: grafana / grafana: 7.0.0 ports: - "3000:3000" jaeger: image: jaegertracing / all - in - one: 1.18 environment: - "COLLECTOR_ZIPKIN_HTTP_PORT=9411" ports: - "9411:9411" - "5775:5775/udp" - "6831:6831/udp" - "6832:6832/udp" - "16686:16686" 配置 demo 项目 clone 代码 git clone https: //github.com/luoyjx/opentracing-demos.git 运行 参考node 项目运行就可以了,注意部分端口需要修改不然会有冲突的问题 查询效果 说明 grafana 的功能是越来越强大了,我们可以基于分布式追踪以及prometheus metrics 实现一个比较统一的dahsboard监控系统 参考资料 https://grafana.com/blog

Istio 1.6.3 发布-新特性与快速安装

北城以北 提交于 2020-07-28 01:47:13
Istio 1.6.3 发布了。Istio 是一个由谷歌、IBM 与 Lyft 共同开发的开源项目,旨在提供一种统一化的微服务连接、安全保障、管理与监控方式。具体来说,Istio 是一个开源服务网格平台,它确保微服务在处理故障时以指定的方式相互连接。 更新内容 修复了监视资源被删除后,操作员无法重新创建的问题 修复了Istio因消息崩溃的问题: proto.Message is *client.QuotaSpecBinding, not *client.QuotaSpecBinding 添加了对 k8s.v1.cni.cncf.io/networks 注释的支持 更新了 SidecarInjectionSpec 以从 .Values.global 读取 imagePullSecret 更新了水平分割以跳过解析主机名的网关 修复了 istioctl experimental metrics ,仅将错误响应代码标记为 erros 更新了 istioctl analyze 以对输出格式进行排序 更新了网关以使用 proxyMetadata 更新了 Prometheus Sidecar 以使用 proxyMetadata 启用 gateway.runAsRoot 时从 PodSecurityContext 中删除了无效的配置 升级更新 从已有版本升级,运行: istioctl

Configuring Jaeger in Spring application

吃可爱长大的小学妹 提交于 2020-05-26 09:17:29
问题 I would like to configure Jaeger in my Spring application. Somehow I cannot find a proper way to do this. Almost all Spring-Jaeger-related documentation is for Spring Boot where most of the properties are auto configured. Here's my approach. Maven dependency: <dependency> <groupId>io.opentracing.contrib</groupId> <artifactId>opentracing-spring-jaeger-cloud-starter</artifactId> <version>1.0.3</version> </dependency> Spring config for Jaeger: @Configuration public class JagerConfiguration {

性能测试体系建设演进之路

自作多情 提交于 2020-05-06 08:03:48
题记 今年是我个人从事软件测试工作的第六个年头,职业生涯至今经历了功能-接口-自动化-性能测试岗位的变迁。 18年下半年开始以团队owner的角色进行工作开展,不过当时团队技术体系建设已经步入正轨,对我个人而言,并没有太多沉淀。 19年跳槽后,有幸从零开始主导我司的性能测试体系建设工作,个人之前的很多想法得以落地实现。 这也许是除了薪资之外,对我个人而言获得的最大成就感。。。 导图 演进 基础建设 1、文档建设 前段时间知乎回答了一个问题: 做技术人是不是都反感写文字类的东西,比如需求文档,需求分析等等? 之前的博客也写过类似的内容: 性能测试从零开始实施指南——文档建设篇 。 我个人认为无论是作为个人学习笔记抑或一个Team的累积沉淀,文档建设的工作必不可少,而且是重中之重。原因如下: 1) 降低“口头说明”带来的风险; 2)文档是很重要的记录和交流介质; 3) 便于事前、事中、事后快速回溯追踪; 4) 降低工作交接、沟通的成本,提高效率; 5)文档是一次梳理思路,review的方式; 6)文档是很重要的工作产出,自我价值诉求的重要手段(KPI); 当然,现在有很多在线协同文档工具,如confluence、语雀(参考- 工具汇总 )。我司性能团队文档类目如下: 2、资源管理 这里的资源主要指压测资源,包含如下几项: 1)压测机 2)压测场景 3)压测脚本 4)压测数据

Jaeger-Opentracing的Java-client

夙愿已清 提交于 2020-05-06 03:03:10
关于jaegeropentracing的Java-client做记录如下: 1.依赖jar包 2.Java-client 代码示例: <A>.调用示例1 注:该方式client会侵入已有业务代码,如需在不改动原有业务代码的前提下,是否考虑可以使用拦截器/过滤器?(未验证) <B>.使用Spring AOP <1>添加spring依赖jar包 <2>配置文件 web.xml配置如下; springmvc-servlet.xml配置如下:                  TestController.java代码如下; TestServiceImpl.java代码如下: AOPDemo.java代码如下: 如果需要统计原有程序,只需要修改该类(或者定义新的切面及连接点)即可,不需要入侵原有业务代码 项目目录结构如下: 注:使用Spring AOP 可以解决上述入侵原有业务代码的问题,只需要定义新的切面、连接点即可 后续会整理下跨系统调用时的完整追踪链的实例 来源: oschina 链接: https://my.oschina.net/u/4264169/blog/4185707