前言众所周知,在SpringBoot中@Autowire依赖注入是极其方便的。在Golang中,也可以利用reflect反射实现简单的依赖注入。但在泛型出现之前,这样的依赖注入在IDE提示上不够优雅,如果实例和interface的类型不对应,需要在运行时才会报错。(可以参考我之前的文章《Golang实现简单的IoC》)Golang 1.18 终于推出泛型后,我们以利用泛型的特性,在初始化实例...
阅读全文
Golang基于泛型实现的简单依赖注入(DI)
发布时间:2022年05月10日 // 分类:代码 // No Comments
Golang实现一个简单的TCP端口转发程序(TCP反向代理)
发布时间:2022年05月04日 // 分类:代码 // No Comments
利用Golang强大的net库,可以轻松实现一个简单的TCP端口转发程序(TCP反向代理)。package main
import (
"fmt"
"io"
"net"
)
var (
serverAddr = "127.0.0.1:80" // 目标服务器地址
...
阅读全文
阅读全文
Spring Boot 对接 Jaeger 时利用Filter修改 Span 的 OperationName
发布时间:2022年05月04日 // 分类:代码 // No Comments
Spring Boot 接入Jager后,访问接口时,默认显示对应控制器的方法名。如下图:控制器方法名经常会重名,也不利于我们利用URL查询接口。在这种情况下,我们可以利用Opentracing提供的方法获取到当前Span,并修改OperationName。1、新建一个Filter用于修改OperationName通过GlobalTracer获取到当前Span,并写入HttpServletR...
阅读全文
阅读全文
Spring Boot 利用Filter将请求数据、响应数据写入日志
发布时间:2022年05月04日 // 分类:代码 // No Comments
SpringBoot中Servlet提供的Filter与Gin的Middleware洋葱模型是很相似的,本质上可以认为是责任链设计模式。通过Filter,我们可以获取到请求对象ServletRequest、响应对象ServletResponse。利用Filter的特性,我们可以实现一个Filter,获取Request和Response,并整合写入到日志中去。本文基于 Spring Boot ...
阅读全文
阅读全文
Spring Boot 2.x 整合Jaeger实现分布式跟踪(链路、日志、性能监测)
发布时间:2022年05月03日 // 分类:代码 // No Comments
Zipkin是最早流行起来的主流分布式跟踪平台,起源于Google Dapper并由Twitter进一步开发。而后Uber用Golang实现了Jaeger。Jaeger除了兼容Zipkin原有的大部分功能以外,还提供了更为丰富的功能。对比来说,两者都是比较成熟稳定的分布式跟踪解决方案。考虑Jaeger更好的性能、更轻量的资源占用,所以决定在项目中使用Jaeger。Spring Cloud 的...
阅读全文
阅读全文
分类
随机文章
- CentOS 7.x下搭建Docker全过程及Docker常用命令速查
- 常用Linux命令备忘(CentOS)
- Ubuntu(Deepin)下配置vscode环境的特殊技巧
- PHP性能优化技巧
- 安装Swoole报Unable to load dynamic library 'swoole.so'错误的解决
最新文章
- 用LessAPI搭建免费的DockDockGo搜索API
- BFF架构下需要注意的坑
- 我的新创意:GentleAI——基于人工智能的生产力工具平台
- 在Drone中利用Webhook插件实现企业微信机器人消息推送
- Golang基于泛型实现的简单依赖注入(DI)
- Golang实现一个简单的TCP端口转发程序(TCP反向代理)
- Spring Boot 对接 Jaeger 时利用Filter修改 Span 的 OperationName
最近回复
- dsa: a
- PHP中serializen()与json_encode()的性能差异 R11; 52ll.org: [...]https://www.ywlib.com/archives/119.html[...]
- kettle 转换字段遇到问题(couldnR17;t get row from result set)——摘 R11; 源码巴士: [...]《Pentaho Spoon (Kettle) 出现 Timestamp :Unab...
- kettle 转换字段遇到问题(couldnR17;t get row from result set unable to get timestamp from resultset at index 9) R11; 源码巴士: [...]《Pentaho Spoon (Kettle) 出现 Timestamp :Unab...
- 1: 代码都写错了,serialize 写了两次
- ANTONIO: 谢谢你, 终于有声音了!!!
- andyw: newbee的版主!好用
- amos: 真管用!!!感谢版主
- Kent: 优秀!
- Kent: 关于页面里有我的邮箱