Go 进阶 · 分布式爬虫实战
郑建勋
Go 语言技术专家,《Go 语言底层原理剖析》作者
15839 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 58 讲
Go 进阶 · 分布式爬虫实战
15
15
1.0x
00:00/00:00
登录|注册

11|微服务挑战:微服务治理体系与实践

你好,我是郑建勋。
上一节课,我们通过服务架构的演进过程,讲解了微服务的边界、拆分的原则以及服务间的通信。微服务架构是解决大型系统复杂性的一种选择,构建微服务本身并不是目的,我们的选择需要为我们的目标服务。
在构建微服务的过程中,不可避免地会遇到一些新的挑战。例如,分散服务的指标如何变得可观测?数据如何保证一致性?系统出现的问题如何降级止损?新的问题需要新的思维、新的手段来解决,这就要提到服务治理了。
这节课,我们就来分析一下微服务遇到的挑战,一起来看看应对这些挑战的最佳实践,了解复杂微服务架构的运作模式。

分布式日志与监控

在微服务架构中,由于大量的服务分散在各处,我们面临的第一个挑战就是要集中收集系统产生的日志等信息,这些信息通常是进一步完成监控、分析的基础。
目前业内通用的做法是借助一个 agent 服务(典型的工具有 Flume、Filebeat、Logstash、Scribe),监听并增量采集日志数据到消息中间件,下游计算引擎会实时处理数据,并把数据存储到对应的数据库做进一步处理。典型的日志采集与监控链路如下所示:
日志数据写入到 MQ 之后,下游流式处理引擎会按照预定的处理规则对数据进行清洗、统计,还可以对错误日志进行告警。经过最终处理的数据会存储到相应的数据库中。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文从分布式日志与监控、分布式Metric与监控、分布式追踪三个方面探讨了微服务治理体系与实践。在分布式日志与监控方面,文章介绍了日志数据的收集、清洗和存储,以及利用Elasticsearch和Kibana进行可视化处理的方法。在分布式Metric与监控方面,文章提到了需要聚合的各种服务信息,并强调了好的可视化能力对监控的重要性。最后,分布式追踪方面介绍了分布式链路追踪的重要性,以及Jaeger等开源组件的应用。通过这些内容,读者可以了解到微服务架构中面临的挑战以及相应的解决方案,为构建复杂微服务架构的运作模式提供了有益的参考。此外,文章还介绍了微服务测试的三种方法:单元测试、服务测试和端到端测试,以及微服务降级的策略:降级、限流、熔断、切流。最后,文章展示了典型的大型微服务架构,强调微服务架构的挑战和解决方法,以及对服务稳定性的重要性。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Go 进阶 · 分布式爬虫实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • 范飞扬
    请问老师服务的漂移是什么意思?它的英文是什么?

    作者回复: 这里不一定有严格对应的英文,主要指的是将一个服务转移到另外的机器中,如果对应到k8s中,可以把它理解为migrate the pods to another node

    2022-11-03归属地:北京
    2
    3
  • 烟消云散
    催更,哈哈哈

    作者回复: copy that

    2022-11-03归属地:北京
    2
  • 陈东
    有些难度,还在建设框架阶段,实战在后半段,对吗?

    作者回复: 15讲开始会进入实战

    2022-11-08归属地:北京
    1
  • Realm
    P50:  即中位数值。100个请求按照响应时间从小到大排列,位置为50的值,即为P50值。如果响应时间的P50值为200ms,代表我们有半数的用户响应耗时在200ms之内,有半数的用户响应耗时大于200ms。如果你觉得中位数值不够精确,那么可以使用P95和P99.9 P95: 响应耗时从小到大排列,顺序处于95%位置的值即为P95值。 还是采用上面那个例子,100个请求按照响应时间从小到大排列,位置为95的值,即为P95值。 我们假设该值为200ms,对95%的用户的响应耗时在200ms之内,只有5%的用户的响应耗时大于200ms,据此,我们掌握了更精确的服务响应耗时信息。 P99: 99%的请求耗时在xxx以内.
    2022-11-03归属地:浙江
    1
    10
  • brqi
    在发现问题时能够有降级的预案,通过降级、限流、熔断、切流等机制保证服务的隔离性和最小的故障损失
    2022-11-29归属地:广东
  • 张小明。
    关于熔断个人有个问题,以hytrix-go为例,假设我们设置错误率30%阈值,在hystrix-go的代码里断路器close的条件是有一个成功了就会close掉断路器,这样似乎无法保护服务。
    2022-11-07归属地:北京
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部