Category: Design Patterns

[转]40张图看懂SkyWalking分布式追踪系统原理及实践 0

[转]40张图看懂SkyWalking分布式追踪系统原理及实践

40张图看懂SkyWalking分布式追踪系统原理及实践   不论是 CPU,内存,还是响应时间,使用 SkyWalking 带来的性能损耗几乎可以忽略不计。 接下来我们再来看 SkyWalking 与另一款业界比较知名的分布式追踪工具 Zipkin, Pinpoint 的对比(在采样率为 1 秒 1 个,线程数 500,请求总数为 5000 的情况下做的对比),可以看到在关键的响应时间上, Zipkin(117ms),PinPoint(201ms)远逊色于 SkyWalking(22ms)

0

Disable Logback log files in containers

We found the spring boot project running containers will keep restarting after some time, maybe 10 days, maybe 5 days. The root cause is spring logback is writing log files into /tmp/ directory as...

[转]有赞百亿级日志系统是怎么设计出来的? 0

[转]有赞百亿级日志系统是怎么设计出来的?

日志平台为集团所有业务系统提供日志采集、消费、分析、存储、索引和查询的一站式日志服务。 主要为了解决日志分散不方便查看、日志搜索操作复杂且效率低、业务异常无法及时发现等等问题。 随着有赞业务的发展与增长,每天都会产生百亿级别的日志量(据统计,平均每秒产生 50 万条日志,峰值每秒可达 80 万条)。日志平台也随着业务的不断发展经历了多次改变和升级。 本文跟大家分享有赞在当前日志系统的建设、演进以及优化的经历,这里先抛砖引玉,欢迎大家一起交流讨论。

[转]如何用Zipkin做好分布式追踪? 0

[转]如何用Zipkin做好分布式追踪?

  现代微服务架构由于业务系统模型日趋复杂,分布式系统中需要一套链路追踪系统来帮助我们理解系统行为,明确服务间调用。最近作者请到了 Zipkin 项目的主要开发维护人员 Adrian Cole 来介绍有关 Zipkin 项目的细节内容,可以让大家了解到如何在分布式追踪系统中用好 Zipkin。Adrian 一直在从事云计算相关开源项目的开发,是开源项目 Apache jclouds 和 OpenFeign 的创始人。最近几年,他专注于分布式跟踪领域,是 OpenZipkin 项目的主要开发维护人员。Adrian 目前在 Pivotal Spring Cloud OSS 团队工作。在加入 Pivotal 之前,他还在 Twitter,Square,Netflix 工作过。

0

[转]基于CQRS的架构在答题PK小游戏中的实践案例

1. 前言 领域驱动设计(Domain-Driven Design,下文简称 DDD)在微服务时代成为了风口话题,而在 DDD 领域,我们常常看到命令查询与职责分离(Command and Query Responsibility Segregation,下文简称 CQRS)架构的身影。CQRS 架构由于本身只是一个读写分离的思想,实现方式多种多样。比如数据存储不分离,仅仅只是代码层面读写分离,也是 CQRS 的体现;然后数据存储的读写分离,Command 端负责数据存储,Query 端负责数据查询,Query 端的数据通过 Command 端产生的 Event 来同步,这种也是 CQRS 架构的一种实现。本文介绍的是后者这种实现方式的 CQRS 架构在研发实时答题 PK 系统中的实践,此外,我们还会引入事件溯源(Event Sourcing)模式,本文认为结合事件溯源模式,可以更好发挥 CQRS 架构的价值。

0

Design Log Monitor System Prototype — 1. Spring MVC

Background In this article, a log monitor system is designed for one classic monolithic Spring MVC project, which contains three module layers: Controller, Service, and Repository. Requirement All system exceptions should be recorded. Pretty...

[总结]日志格式 0

[总结]日志格式

概述 统一日志服务使用了分布式跟踪技术来收集和存储分散在各个应用或接口服务的日志,这些日志可用于后续的运维、监控和统计分析。 分布式跟踪技术把每次请求的整个调用链记录下来,可以方便的查看一次请求从客户端到应用服务器到数据库等每个阶段的执行情况,详细参考OpenTracing。