英俊xiansen
码龄9年
关注
提问 私信
  • 博客:34,391
    34,391
    总访问量
  • 16
    原创
  • 1,845,201
    排名
  • 23
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2016-01-07
博客简介:

rongshisuo的博客

查看详细资料
个人成就
  • 获得12次点赞
  • 内容获得17次评论
  • 获得34次收藏
创作历程
  • 3篇
    2021年
  • 3篇
    2020年
  • 11篇
    2019年
成就勋章
TA的专栏
  • redis
    2篇
  • kafka
    1篇
  • 多数据源
    1篇
  • 多消费者
    1篇
  • 工具
    1篇
  • mysql
    1篇
  • 分库分表
    1篇
  • 私密
  • 手写tomcat
    1篇
  • 手写tomcat服务
    1篇
  • SpringCloud
    4篇
  • Lock
    1篇
  • mybatis
    3篇
  • dubbo
    1篇
  • 架构笔记
    6篇
兴趣领域 设置
  • 编程语言
    r语言
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 微软技术
    c#.netasp.net
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

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

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

为什么说redis是单线程及redis执行过程

一.结论因为redis内部用的是文件事件处理器,文件事件处理器是单线程的,所以redis才叫单线程模型。Redis采用IO多路复用机同时制监听多个socket,将产生事件的socket压入队列中,事件分派器根据socket上的事件类型选择对应的事件处理器进行处理。二.文件时间处理器包括以下4部分:1.多个socket2.IO多路复用程序3.文件分派器4.事件处理器多个socket可能对并发产生不同的操作,每个操作对应不同的文件事件,IO多路复用程序会...
原创
发布博客 2021.06.22 ·
311 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分库分表设计方案

一.很多项目一开始是没有分库分表的设计方案的,因为项目急于上线占领市场,从而去繁就简,也为以后埋下很多问题。很多人对分库分表,只停留在理论阶段,没有实际操作过。我就这公司的某个业务的实际操作简单说下我们处理的过程,也可能并非最优方案。背景:随着业务发展越来越迅速,我们生产的MySQL数据好几张表已经突破了千万级数据,并且保持每天50+W的数据量增加。有些业务需要对表进行关联查询或统计,产生的笛卡尔积也越来越大,一个查询需要几分钟,十分拖慢业务,造成客户投诉越来越多。现在对表的存储也迫在眉睫。二.
原创
发布博客 2021.04.15 ·
373 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Kafka 多数据源 多生产者 多消费者

1.背景随着业务的发展,服务进行拆分,由原先的一个kafka根据业务线拆分成了多个kafka,现在底层又不支持多kafka数据源,只能自己对kafka进行二次封装2.kafka配置说明下面配置了两套kafka,主kafka为 primary: kafka_db_data1和第二个数据源kafka_db_data2,以后有第三个kafka可以按照同样的方式进行配置。kafkas: kafka: enabled: true primary: kafka_db_data.
原创
发布博客 2021.03.03 ·
3771 阅读 ·
1 点赞 ·
8 评论 ·
15 收藏

jvm-sandbox demo

一、前言在开始之前,我们先来模拟一下以下的场景:小李:“小明,你的接口没有返回数据,麻烦帮忙看一下?”小明:“我这边的数据也是从别人的服务器中拿到的,但是我不确定是因为逻辑处理有问题导致没有结果,还是因为我依赖的服务有问题而没有返回结果,我需要确认一下。”小明:“哎呀,线上没有日志,我需要加个日志上个线。”30 分钟之后……小明:“不好意思,日志加错地方了……稍等……”接来下隆重登场的就是本文的主角 JVM SandBox 了。基于 JVM SandBox,我们可以很容易地...
原创
发布博客 2020.07.23 ·
993 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

手写一个简单tomcat服务

1.流程图空空空2.创建一个socket3.启用线程任性直接上第二,第三代码,解决一切问题import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.SocketException;import java.nio.channels.ServerSocketChannel;import java.nio.channels.Socke
原创
发布博客 2020.06.13 ·
180 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

记录一次解决转码问题的过程-修改springboot tomcat源码,%未转义 无法接收到参数

一.背景用java重构PHP项目,因为以前接口设计不合理,各式各样的参数满天飞。为了逐步替代程java代码,并且不影响线上业务。第一步决定参数和接口方式不变,这也导致了出现这个问题。二.问题出现同一个接口:go -> java和 客户端 -> java,Content-Type都是application/x-www-form-urlencoded,可是客户窜(安卓)对参...
原创
发布博客 2020.03.26 ·
1249 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

redis多数据源

因为代码简单,所有没有太多注释,请谅解一.基础配置类主要用于加载redis配置@Configuration@ConfigurationProperties(prefix = "spring.multiple-redis")public class RedisConfig { private String primary; private Map<Stri...
原创
发布博客 2019.12.07 ·
550 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

转:https://mp.weixin.qq.com/s/O_D_FVRIIII1wqq4jGZqHA

非常伟大震撼人心的演讲,希望每个人每天看一遍传送门:https://mp.weixin.qq.com/s/O_D_FVRIIII1wqq4jGZqHA
转载
发布博客 2019.12.05 ·
10524 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

关于架构心得-mybatis多个数据源使用start包

前言:最近新搭建了一个项目,用到了多个数据源,并且需要动态切换,所以写了一个切换数据源的starter包。spring-boot-starter-multiple-data-source以读写分离两个数据源举例一.数据源配置配置多个数据源spring: datasource: master: jdbc-url: jdbc:my...
原创
发布博客 2019.09.04 ·
309 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

高并发场景下的请求合并

一.在项目中,我们经常用到如下方式进行接口调用:有多少请求访问,就会调用多少次第三方接口或数据库,这样的情况在高并发场景下很容易出现线程被打满,返回结果慢。为了优化这个接口,后台可以将相同的请求进行合并,然后调用批量的查询接口。请求合并:下面上代码:已查询数据库举例1.创建请求类:@Data@Builder@AllArgsConstructor@...
原创
发布博客 2019.08.26 ·
607 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

关于java架构心得

开端,对以前的知识进行整理,将文档体系化,将以前搭建框架的经验分享给大家一,对外开放jar包1.开放全局异常捕获好处:在业务代码中,不需要关注返回值,不用关心返回客户端格式,事务内部需要要特殊关注回滚,2.例子:提供两个文件,BussException异常类,ExceptionInterceptor异常拦截器2.1BussException代码:返回给客户端统一格...
原创
发布博客 2019.06.03 ·
7935 阅读 ·
4 点赞 ·
7 评论 ·
16 收藏

Dubbo源码分析(一)------dubbo加载流程

1.dubbo加载流程第一步解析:在dubbo的jar包下,spring启动时会默认加载/MATE-INF/spring.handler文件,该文件下有这么一段内容:http\://code.alibabatech.com/schema/dubbo=com.alibaba.dubbo.config.spring.schema.DubboNamespaceHandler这个Dubb...
原创
发布博客 2019.05.31 ·
907 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

MyBatis源码分析(二)-----具体SQL执行逻辑源码分析

直接看获取SQL时调用的方法首先看入口-->org.apache.ibatis.session.defaults.DefaultSqlSession#getMapper继续深入可以看到调用的mapperRegistry.getMapper(type,sqlSession)这个函数,在MapperRegistry这个类中,getMapper的实现:可以看到如下代码是通过动...
原创
发布博客 2019.05.04 ·
366 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MyBatis源码分析(一)-----解析数据源

概论:mybatis主要分分为三个步骤第一步:解析数据源第二步:获取执行sql语句第三步:执行操作一.创建SqlSessionFactory对象首先介绍SqlSessionFactoryBuilder类,根据名称可得知是用来创建SqlSessionFactory对象的,1.1创建SqlSessionFactory对象首先第一步调用SqlSessionFac...
原创
发布博客 2019.04.22 ·
434 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ReentrantLock源码解析——一篇文章搞定ReentrantLock

一.概述想要看懂ReentrantLock源码必须知道两个知识点1.CAS,既比较并交换,是解决多线程并发情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作——内存位置(V),预期原值(A)和新值。进行操作时,如果内存位置的值和预期原值一样,则更新为新值,否则不做操作。2.AbstractQueuedSynchronizer简称AQS:AQS是一个FIFO等待队列的阻塞锁和相关...
原创
发布博客 2019.03.18 ·
402 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

SpringCloud对Feign的Ribbon重试机制分析

FeignClient 重试机制分析feign重试代码分析第一步:SynchronousMethodHandler首先看下该类的代理方法,invoke因为主要分析重试机制算法,所以不再分析executeAndDecode中的业务逻辑,重试机制的算法在continueOrPropagate方法中,接下来代码:在正式进入continueOrPropagate代码前,需要Re...
原创
发布博客 2019.01.22 ·
1082 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Spring IOC 原理

1.SpringIOC体系如下图所示:BeanFactorySpringIOC是一个典型的工厂类,它定义了IOC容器的基本规范,IOC容器实际上就是一个ConcurrentHashMap。BeanFactory有三个子类和最终实现子类:DefaultListableBeanFactory这个子类实现了所有的接口,每个接口都有他的使用场合,比如他的继承体系中的三个类Lista...
原创
发布博客 2019.01.16 ·
283 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多