Byte Buddy学习笔记
Byte Buddy是一个JVM的运行时代码生成器,你可以利用它创建任何类,且不像JDK动态代理那样强制实现一个接口。Byte Buddy还提供了简单的API,便于手工、通过Java Agent,或者在构建期间修改字节码。
Java反射API可以做很多和…
阅读全文如何开发Java Agent
此API由java.lang.instrument包提供,其核心是Instrumentation接口,它提供了探测(instrument)Java代码的基本服务,可用于实现性能监控、Profiler、事件记录器等功能。获取Instrumentation实例…
阅读全文CoreDNS学习笔记
CoreDNS是一个基于Go的DNS服务器,非常灵活,支持插件链。CoreDNS内置了30+的插件,你还可以将一些外部插件也编译到CoreDNS的二进制文件中。
1 2 3 4 5 6 7 8 |
export GOPATH=${GOPATH-~/go} mkdir -p $GOPATH/src/github.com/coredns cd $GOPATH/src/github.com/coredns/ wget https://github.com/coredns/coredns/archive/v1.0.5.tar.gz tar xvf v1.0.5.tar.gz mv coredns-1.0.5 coredns cd coredns make CHECKS= godeps all |
CoreDNS的每个版本都发布了Docker镜像,在容器中启动CoreDNS的示例:
1 2 3 |
docker run --name coredns -h coredns --network local --ip 172.21.0.12 -p 127.0.0.1:53:53 -p 127.0.0.1:53:53/udp \ --volume /media/alex/Repository/Linkage/Docker/coredns/:/root/ \ --restart=always -d docker.gmem.cc/coredns/coredns:1.5.0 -conf /root/Corefile |
在加载了配置文件(默认为当前工作目录下的Corefile)后,CoreDNS就会运行一系列的DNS服务器。每个服务器由两个属性来识别…
阅读全文SOFAStack学习笔记
SOFAStack(Scalable Open Financial Architecture Stack,可扩展开放金融架构栈)是蚂蚁金服开源的技术栈,国内多家金融和互联网公司在生产环境使用了此技术栈。
基于Spring Boot,额外提…
阅读全文KintoHub试用笔记
KintoHub能够管理云原生应用从源代码到线上环境部署的整个生命周期,包括构建、编排和部署。
KintoHub认为微服务必须遵从如下原则:
- 微服务的功能和数据构成界限上下文,微服务是单一职责的,其功能通过一个或多个API端点暴露
- 微服务必须支持通过上下…
Istio Mixer与Envoy的交互机制解读
在前些日子的文章Istio Pilot与Envoy的交互机制解读中我们详细研究了Istio Pilot如何基于xDS协议和Envoy代理进行各种配置信息的交换。Istio的另一个核心组件是Mixer,它提供三类功能:
- 遥测报告(Telemetry Reporting),该功能是服务网格可观察性的基础。…
基于nGrinder进行负载测试
nGrinder是一个基于Grinder的压力测试平台。在此平台上你可以创建测试脚本、执行测试、监控目标服务器,同步的生成测试结果。
nGrinder由两种关键组件:
- 控制器:提供性能测试的Web接口,支持协调测试进程、收集并展示测试相关的统计…