pipeline模式的一种实现 Apr 19, 2022

一种流式编程的代码

...
Hyde-Hyde主题修改 Apr 17, 2022

本博客用的是hugo的hyde-hyde主题,在其基础上做了一些改进,具体如下:

对高分屏的宽度适配

下面这个是我自己提的issue

...
18岁以前的我 Apr 12, 2022

我是溧阳人。小学老师说溧阳是鱼米之乡,“江南可采莲,莲叶何田田”,而我所见河流不多,居民也不以鱼米为生,只有春汛的时候,肉眼可见的溪流变得湍急,突然的一天就快漫过了堤岸,那些小河才有了一些些的存在感。至于船舶,那是干“偷鱼”营生的人和十几公里外的大河才有的东西。

...
Java自定义Classloader Mar 7, 2022

看看怎么做类加载隔离

...
Java Agent实现指南 Mar 7, 2022

Java Agent是字节码修改技术,Mtrace使用Java Agent修改字节码来实现trace的跨线程传递,opentelemetry也通过Java Agent来实现该需求。

...
Opentelemetry是怎么做链路追踪的 Dec 12, 2021

云原生可观测技术是云原生下很火的一个命题,opentelemetry的定位是统一metrics,trace和log的协议、api、sdk和exporter,他越来越成为云原生技术体系下的可观测性标准。这个博客就是来探究下opentelemetry是什么,做什么,怎么做的。

OpenTelemetry is a collection of tools, APIs, and SDKs. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behavior.

上面是opentelemetry官网对自己的定位。抽取一下关键词,opentelemetry仅提供了api和SDK,不负责后端实现(后端由prometheus、jaeger等实现),用这些api和SDK,你可以做性能数据埋点,生成、收集和导出(generate, collect, and export)监控数据。对这段话最终的理解是opentelemetry只做SDK层面的事,职责的边缘是export数据即止。

...
Springboot内置Tomcat的配置 Sep 27, 2021

背景:需要提供一个配置服务给60w+机器,没台机器每分钟请求一次拉取最新配置。springboot的默认tomcat配置是不行的,研究下tomcat有哪些配置项,以及如何在springboot中配置。

...
Arthas Sep 2, 2021

arthas用来动态调试很好用

...
一致性hash Aug 23, 2021

给出一致性hash的代码

...
领域驱动设计 May 14, 2021

为什么要搞领域驱动设计

传统的软件开发模式有结构化设计,以数据为中心设计,面向对象设计。

  • 结构化设计:面向流程,面向过程的设计。先做A,再做B,最后做C。由过程之间的组合完成整体的系统功能
  • 以数据为中心设计:先设计数据库ER图,然后再进行设计。持久化数据在软件应用中加工组合修改,反馈给用户,修改持久化到数据库。
  • 面向对象设计:抽象出对象这个概念,使其在数据属性外增加职责。由对象之间协作完成整体的系统功能。

软件是对现实的模拟。软件设计的这种演进,归根结底原因是现在的软件所要模拟的现实越来越复杂,导致软件也越来越复杂。

...