Archive
Log
Small notes from life, reading, and whatever stayed with me long enough to write down.
或许应该把“定期出去面试”也作为个人技能提升的一部分,和别人沟通,了解从别人的视角 ta 会期待从你的工作中看到什么; 以及从“面试官”的视角来审视自己日常的工作还是很神奇的一个体验,有的时候需要再追问一下,有的时候以为自己懂了,其实没有懂。 面试里面最难的在于沟通,面试官问的和自己答的,什么样的问题得到什么样的答案,对问题什么样的理解会得到什么样的答案。
或许最近的经历会让我开始思考环境带来的高度和自己的高度,我理解的深度,以及我大把的时间思考的问题和思考本身的意义。
按照垂直结构来划分微服务架构的话大概分为三层: 1. 基础设施层 infrastructur layer :server、container、networking 2. 应用层:代码和数据库 3. 监测和管理层: 用于观测前两层的 datadog 就是这样一个属于监测和管理的工具。 如何发挥作用的? - 和基础设施层:Datadog 会安装一个“agent”在 Hosts (EC2) 或者 Nodes (Kubernetes)上来监测 CPU, Memory, and Disk usage - 和应用层: Datadog 用注入到代码中的 APM (Application Performance Monitoring) libraries 来监测, 主要负责 Distributed Tracing. 所以一个大概的流程是发起一个请求 -> datadog 拦截并开始记录 -> 请求继续 -> datadog 记录下 span 的运行时间。 对于 java 的代码,这个 apm 是如何注入的?Java Agent (-javaagent flag)。JVM 允许 Datadog Agent 查看所有加载到内存的 class 文件。 Datadog 是如何实现日志和 metric 的监控的? - 对于日志,主动读取 application 写的日志文件/var/log/app.log - 对于 metric, Datadog Agent opens a listening port (usually UDP 8125) on the server,应用主动向这个端口推送 metric
最近写 annual review 的时候发现我无法回忆起这一年我做了什么事,工作上和生活上。