Saleson
码龄15年
关注
提问 私信
  • 博客:452,107
    社区:1,935
    问答:2,289
    456,331
    总访问量
  • 93
    原创
  • 15,335
    排名
  • 701
    粉丝
  • 30
    铁粉
  • 学习成就

个人简介:喜欢看书,看技术贴,喜欢研究如何提高开发效率,和大型网站的高并发性能.目前从事JAVA后端架构。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2009-09-25
博客简介:

Mr_rain的专栏

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    790
    当月
    2
个人成就
  • 获得382次点赞
  • 内容获得33次评论
  • 获得578次收藏
  • 代码片获得2,803次分享
创作历程
  • 19篇
    2024年
  • 1篇
    2023年
  • 27篇
    2022年
  • 4篇
    2021年
  • 1篇
    2020年
  • 7篇
    2019年
  • 8篇
    2018年
  • 21篇
    2017年
  • 7篇
    2016年
  • 1篇
    2010年
成就勋章
TA的专栏
  • springboot
    1篇
  • maven
    2篇
  • Java
    3篇
  • 线程
    1篇
  • spring boot
    3篇
  • Dubbo
    9篇
  • istio
    6篇
  • 故障分析
    2篇
  • Mac
    1篇
  • kubernetes
    1篇
  • 灰度发布
    4篇
  • 开发工具
  • Java Agent
    2篇
  • spring-mvc
    1篇
  • JNI
    1篇
  • openjdk
    3篇
  • 流式计算
    2篇
  • spring cloud
    1篇
  • 内存管理
    1篇
  • 数据库
    1篇
  • redis
    2篇
  • 架构设计
    4篇
  • 编码杂项
    9篇
  • spring
    5篇
  • 微服务
    8篇
  • java8
    2篇
  • 环境安装
    1篇
  • 运维
    3篇
  • spring-boot
    2篇
  • git
    1篇
  • spring-cloud
    8篇
  • jvm调优
    1篇
  • jvm 排错
    2篇
  • 开源
  • docker
    3篇
兴趣领域 设置
  • 后端
    spring架构
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

353人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Spring Boot Configuration和AutoConfiguration加载逻辑和加载顺序调整

在spring中, AutoConfiguration也是一个种Configuration,只是AutoConfiguration是不能使用proxy的。而且spring对于两者的加载顺序也不是一视同仁,是有顺序的。spring会先加载@Configuration标注的类,这个过程会将@AutoConfiguration标注的类给过滤掉;
原创
发布博客 2024.10.27 ·
884 阅读 ·
23 点赞 ·
0 评论 ·
16 收藏

transmittable-thread-local线程透传核心源码解读

transmittable-thread-local是阿里开源的一个ThreadLocal值跨线程透传的组件,主要解决在线程池池化复用线程执行组件的场景下异步执行时上下文传递的问题。支持sdk和agent两种方式接入使用。不过agent方式接入使用在项目也是需要依赖ttl的TransmittableThreadLocal类,可以将scope设置为provided。
原创
发布博客 2024.09.07 ·
654 阅读 ·
7 点赞 ·
0 评论 ·
18 收藏

SpringBoot 3的两种SPI加载方式

从spring boot 2.7.0发布后, 自动配置类的加载方式就发生了改变,原来从META-INF/spring.factories文件中加载,变为了从META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件中加载,对应的加载实现类发生了改变
原创
发布博客 2024.08.03 ·
959 阅读 ·
24 点赞 ·
0 评论 ·
13 收藏

tcp 连接数上限突破

一个tcp连接就需要占用一个文件描述符,一旦文件描述符用完,新的连接就会返回给我们错误是:Can’topen so many files。linux系统出于安全角度的考虑,在多个维度对于可打开的文件描述符进行了限制,通常是系统限制、用户限制、进程限制。
原创
发布博客 2024.03.13 ·
1552 阅读 ·
19 点赞 ·
1 评论 ·
17 收藏

nginx: mac使用vscode本地调试nginx

在extensions中搜索"c/c++", 将前3个插件都安装在extensions中搜索"cmake", 将前2个插件都安装。
原创
发布博客 2024.03.07 ·
1484 阅读 ·
19 点赞 ·
0 评论 ·
18 收藏

go mod出现zip: not a valid zip file的解决办法

问题原因:go mod代理服务器下载出错;导致在下载时出现": zip: not a valid zip file"优先使用aliyun的代理服务,调整直接使用https://goproxy.cn。重新执行kubebuilder init 正常完成。
原创
发布博客 2024.03.03 ·
2690 阅读 ·
11 点赞 ·
0 评论 ·
8 收藏

Kubernetes: 本地部署dashboard

本篇文章主要是介绍如何在本地部署kubernetes dashboard, 部署环境是mac m2。
原创
发布博客 2024.03.03 ·
641 阅读 ·
7 点赞 ·
0 评论 ·
5 收藏

mTLS: Netty单向/双向TLS Demo完整代码

NettyHelper.java: 主要用是创建EventLoopGroup和判断是否支持Epoll。package org.example.netty;import io.netty.channel.EventLoopGroup;import io.netty.channel.epoll.Epoll;import io.netty.channel.epoll.EpollEventLoopGroup;import io.netty.channel.epoll.EpollSocketChannel
原创
发布博客 2024.03.02 ·
1151 阅读 ·
16 点赞 ·
0 评论 ·
24 收藏

mTSL: netty单向/双向TLS连接

不管是单向tls还是双向tls(mTLS),都需要创建证书。创建证书可以使用openssl或者keytool,openssl 参考。
原创
发布博客 2024.03.02 ·
1276 阅读 ·
21 点赞 ·
0 评论 ·
16 收藏

mTLS: openssl创建CA证书

证书可以通过openssl或者keytool创建,在本篇文章中,只介绍openssl。
原创
发布博客 2024.03.02 ·
2021 阅读 ·
19 点赞 ·
0 评论 ·
36 收藏

mTLS: TLS/CA/证书 简介

简称英文全称中文全称CA证书颁发机构PCA私有证书颁发机构,又名私有 CASSL安全套接字层协议TLS传输层安全性协议HTTP超文本传输协议HTTPS超文本传输安全协议EV SSLEV 证书,又名扩展验证证书OV SSLOV 证书,又名组织验证证书DV SSL证书,又名域验证证书通配符证书MDC多域 SSL 证书UCC统一通信证书TLD顶级域PKI公钥基础设施OCSP在线证书状态协议CSP加密服务提供商Public key公钥私钥。
原创
发布博客 2024.03.02 ·
1688 阅读 ·
14 点赞 ·
0 评论 ·
13 收藏

Java SDK下沉:解决SDK治理痛点

在每个java应用中,都会存在各种各样的SDK,随着时间流逝和技术的迭代,SDK也需要进行相应的版本更新,在大型微服务系统中,动辄几百上千个应用,要推动这个数量级的应用进行SDK升级或者覆盖接入,消耗的成本是巨大的,这也是微服务治理的一大难点。那么这个难点如何解决呢?参考service mesh的思路,将技术复杂度下沉,业务逻辑和技术组件拆分、解耦。
原创
发布博客 2024.02.25 ·
892 阅读 ·
14 点赞 ·
0 评论 ·
21 收藏

etcd: mac 环境部署

release版本链接:https://github.com/etcd-io/etcd/releases/安装完后,会有相关提示,推荐使用 brew services 来管理这些应用。官网:https://etcd.io/docs/v3.5/install/将zip包解压出来,进入目录查看文件。
原创
发布博客 2024.02.23 ·
1134 阅读 ·
9 点赞 ·
0 评论 ·
8 收藏

HTTP2:netty http2 StreamChannel多流实现与Http2StreamFrame解码器的源码分析

netty http2 server侧的核心逻辑个人认为,主要在编解码处理器和Stream Transform Channel这块,分别处理Http2 消息帧的编解码,以及连接的多流处理机制。
原创
发布博客 2024.02.08 ·
1108 阅读 ·
21 点赞 ·
0 评论 ·
15 收藏

HTTP2: springboot启用http2

Springboot默认自带的tomcat开启http2必须使用ssl,所以需要重新启一个tomcat,并修改其配置,使其支持HTTP2.0 (Springboot支持多connector)。如果只考虑支持h2c,可以让springboot自带的tomcat不启动。通过浏览器访问接口,然后查看使用的protocol。启动springboot应用。使用okhttp进行验证。
原创
发布博客 2024.02.07 ·
2316 阅读 ·
25 点赞 ·
0 评论 ·
22 收藏

HTTP2: netty server端同一个端口支持 http1.1/http2

同时支持http1和http2比较推荐的方法是通过HttpServerUpgradeHandler将http1.1升级到http2,网上有很多资料。这里采用的是另一种方式。在对接收到的请求字节进行解码时,判断client采用的是http1还是http2,然后再将相应的ChannelHandler添加到ChannelPipeline中。新增2个接口和4个实现类。
原创
发布博客 2024.02.07 ·
507 阅读 ·
9 点赞 ·
0 评论 ·
9 收藏

HTTP2: netty http2 server demo

与netty 的http1.1类似,http2也需要相应的编解码器,另外还需要一个处理http2连接通道复用的Handler。在构建Http2FrameCodec时,可以通过Http2Settings类对流和数据帧进行设置,覆盖默认其默认值。运行上面的代码,8080端口将支持http2协议。运行下面的curl脚本,即可访问。
原创
发布博客 2024.02.07 ·
1061 阅读 ·
17 点赞 ·
0 评论 ·
13 收藏

HTTP2:基础概念

http2 相较于http2最大的改变在于用户和网站之间可以复用一条连接实现多流交互。其推出并没有改变http1.1 的基本语义。http2的目的是响应复用,头部压缩来提高极致的性能。
原创
发布博客 2024.02.07 ·
843 阅读 ·
15 点赞 ·
0 评论 ·
19 收藏

Dubbo Consumer 对Provider的protocol选择逻辑

该方法会将“refer”属性提出来,然后进入doRefer()方法中获取"protocol"参数值,将protocol参数值做为consumerUrl的protocol,同是将referenceParamters做为consumerUrl的参数,consumerUrl的protocol参数会在后面的服务发现中做为一个条件用于筛选相应protocol的provider url。该方法是服务发现的入口方法,该方法的主要逻辑是创建Invoker对象,并生成Proxy对象。逻辑的主要代码下面4处。
原创
发布博客 2024.01.29 ·
436 阅读 ·
8 点赞 ·
0 评论 ·
6 收藏

dubbo3 负载均衡器

其中默认的负载均衡器就是RandomLoadBalance,也可以在consumer url中通过"loadbalance"参数指定。
原创
发布博客 2023.12.19 ·
469 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏
加载更多