精品阅读

京东到家购物车日志优化实践

生产环境排查问题往往都是通过日志,但对于巨大的日志量,如何实现针对某一个操作进行整个日志链路的追踪就显得尤为重要。 Log4j2提供的日志追踪方案是NDC和MDC,但仅限于当前线程内的数据传递(其底层原理是维护一个ThreadLocalMap),如果是父子线程之间的调用,就无法完成完整的链路追踪工作。 购物车使用TTL(TransmittableThreadLocal)+线程池

一年实现降本60%,货拉拉全链路监控演进史

2、智能告警、预案智能告警、预案简单理解就是把我们日常的一个应对异常情况时候的一些SOP固化、沉淀成为我们的专家经验,然后形成一套规则,根据这些规则构建规则引擎,不同的场景参数会匹配到特定的规则或一些规则,通过规则引擎计算得出对应的一些处理手段,比如说报警或者给出一些建议提示,更进一步的话还可以做到自动化执行一些预案动作。如图,左边可以认为是一些场景入参,它可以是一些应用指标,也可以云平台的一些数

玩转 Spring Boot 原理篇(源码环境搭建)

Therewerefailingtests.Seethereportat:file:///Users/tangbao/growup/spring-boot-2.6.3/buildSrc/build/reports/tests/test/index.htmlorg.opentest4j.AssertionFailedErroratBomPluginIntegrationTests.java:75or

Apache SeaTunnel 分布式数据集成平台

当前版本:2.1.01.简介随着互联网流量爆发式增长,越来越多的公司业务需要支撑海量数据存储,对高并发、高可用、高可扩展性等特性提出了更高的要求,这促使各种类型的数据库快速发展,至今常见数据库已经达到200多个。与之相伴的便是,各种数据库之间的同步与转换需求激增,数据集成便成了大数据领域的一个亟需优秀解决方案的方向。当前市面上没有一个简单易用且支持每天数百亿条海量数据同步的开源软件,于是SeaTu

一文带你搭建 RocketMQ 源码调试环境

tothetargetVM,address:\'127.0.0.1:52279\',transport:\'socket\'Thebroker[broker-a,192.168.10.197:10911]bootsuccess.serializeType=JSONandnameserveris127.0.0.1:98764.3查看启动日志另外我们到logs目录看下启动的详细日志,打开broker.

深入浅出前端监控

采集的监控数据一般都会设置一些通用的环境信息,这些环境信息可以提供更多的维度以帮助用户发现问题和解决问题。下图列举了一些常见的环境信息:的字样,这种情况一般都是JSON.parse解析出错或浏览器兼容性问题导致,属于运行时错误并非编译时错误。对于异常监控我们主要关注JS运行时错误,多数场景下的处理手段如下:错误场景如何上报场景一:自行感知的同步运行时异常try-catch后进行错误上报场景二:没有

TensorFlow在美团外卖推荐场景的GPU训练优化实践

总第497篇2022年第014篇美团机器学习平台基于内部深度定制的TensorFlow研发了BoosterGPU训练架构。该架构在整体设计上充分考虑了算法、架构、新硬件的特性,从数据、计算、通信等多个角度进行了深度的优化,最终其性价比达到CPU任务的2~4倍。本文主要讲述Booster架构的设计实现、性能优化及业务落地工作,希望能对从事相关开发的同学有所帮助或者启发。1背景2GPU训练优化挑战3系

设计模式系列——享元模式

原创:花括号MC(微信公众号:huakuohao-mc)。关注JAVA基础编程及大数据,注重经验分享及个人成长。享元模式,就是共享"原型"的模式。充分共享已有的对象,而不是每次都创建新的对象。享元模式可以有效地降低对象数量,节省内存,提高效率。举个例子我们创建20个不同位置,五种不同颜色的圆形。按照享元模式的设计思想我们只需要创建五种不同颜色的圆形对象就OK了,而不是20个。主要实现思路是准备一个

深入浅出前端监控

采集的监控数据一般都会设置一些通用的环境信息,这些环境信息可以提供更多的维度以帮助用户发现问题和解决问题。下图列举了一些常见的环境信息:的字样,这种情况一般都是JSON.parse解析出错或浏览器兼容性问题导致,属于运行时错误并非编译时错误。对于异常监控我们主要关注JS运行时错误,多数场景下的处理手段如下:错误场景如何上报场景一:自行感知的同步运行时异常try-catch后进行错误上报场景二:没有

京东二面:MySQL 主从延迟,读写分离 7 种解决方案

大家好,我是Tom哥我们都知道互联网数据有个特性,大部分场景都是读多写少,比如:微博、微信、淘宝电商,按照二八原则,读流量占比甚至能达到90%结合这个特性,我们对底层的数据库架构也会做相应调整。采用读写分离处理过程:客户端会集成SDK,每次执行SQL时,会判断是写或读操作如果是写SQL,请求会发到主库主数据库执行SQL,事务提交后,会生成binlog,并同步给从库从库通过SQL线程回放binlog

「GoCN酷Go推荐」后现代时代远程办公网络问题的golang开源解决方案 —— PairMesh

PairMesh是什么?Pairmesh是一款先进的虚拟局域网(VPN)工具,用来搭建与访问安全,易用,高性能的点对点的软件定义虚拟局域网,为远程办公的网络连接问题提供了开箱即用的解决方案。拥抱开源,拥抱开放PairMesh是主要使用go语言开发实现的开源项目,您可以查看并获取PairMesh源代码:https://github.com/pairmesh/pairmesh这个repo包含了Pair

有了jmespath,处理python中的json数据就变成了一种享受...

点击蓝字关注我们jmespath是python的第三方模块,是需要额外安装的。它在python原有的json数据处理上做出了很大的贡献,至于效果接下来试试就知道了有多方便。话不多说,我们直接进入正题…既然是第三方的库,那肯定是要安装的。通过pip的方式先将jmespath库安装好…pip install jmespath将安装好的模块导入到代码块中…import jm

Flink Next:Beyond Stream Processing

▼关注「ApacheFlink」,获取更多技术干货 ▼更多Flink相关技术问题,可扫码加入社区钉钉交流群~   戳我,查看原文视频&演讲PDF~

ClickHouse 在网易的实践

databases;\'|curl\'http://10.200.161.49:9009/?user=writeuser&password=xxxx\'--data-binary@-关于chroxy参数配置可参照如下文档:https://github.com/ContentSquare/chproxy 5客户端工具选择1.DBeaveDBeaver是免费和开源(GPL)为开发人员

Golang反射原理

本文基于go1.13.151.go汇编1.1基本语法go采用plan9的汇编器完成汇编,有下面几个重要的伪寄存器FP:Framepointer:局部变量访问PC:Programcounter:程序计数器SB:Staticbasepointer:全局变量访问SP:Stackpointer:存储栈顶指针常用指令如下_typesizeptrdatahashtflagtflagalignfieldalig

golang网络框架netpoll(Multi-Reactor模型)核心源码分析

现如今提起网络大家的第一反应就是epoll,而实际工程开发中绝大部分的情况都会优先考虑采用已有的一些开源网络框架来做功能的开发。网络框架不同的语言有不同的实现,例如java中大名鼎鼎的netty,再比如c++中的libevent、boost::asio、muduo等,golang中目前在开源社区比较有影响力的网络框架有gnet、evio、netpoll(字节开源)这几个。在之前研究完gnet后差不

Quantum(量子)攻击系统 – 美国国家安全局“APT-C-40”黑客组织高端网络攻击武器技术分析报告

“APT”(高级持续性攻击)是一种针对性、隐蔽性、持续性极强的网络攻击行为。现已发现的绝大多数APT组织都具有国家或政府背景,相关攻击行为通常由某个与特定国家政府关联的实体机构具体实施。APT攻击的主要目标不是普通个体,而是特定的组织机构,包括政府、大学、医疗、企业、科研甚至重要信息基础设施运维单位等不同类型的重要机构。360云端安全大脑持续跟踪世界现存诸多APT组织及其活动情况,率先发现并公开披

设计模式系列——外观模式

原创:花括号MC(微信公众号:huakuohao-mc)。关注JAVA基础编程及大数据,注重经验分享及个人成长。外观模式主要用于屏蔽内部细节,对外提供一个统一的接口和方法。比如大家经常用的SL4J就是外观模式最好的应用。举个例子还是拿图形生成来举例,定义一个图形接口,然后分别定义具体的圆形,长方形和正方形来实现图形接口。为了让客户端代码更加简单的使用相应的功能接口,而不必了解更多的图形细节,可以通