qq_43409811
码龄6年
关注
提问 私信
  • 博客:51,557
    51,557
    总访问量
  • 39
    原创
  • 756,132
    排名
  • 17
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2018-10-14
博客简介:

qq_43409811的博客

查看详细资料
个人成就
  • 获得18次点赞
  • 内容获得9次评论
  • 获得57次收藏
  • 代码片获得395次分享
创作历程
  • 5篇
    2022年
  • 25篇
    2021年
  • 12篇
    2020年
成就勋章
TA的专栏
  • 功能设计
    付费
  • 九阳神功
    付费
    9篇
  • 数空科技
  • java面试题积累
  • netty
    5篇
  • 23设计模式
    2篇
  • Linux磁盘I/O
    3篇
  • Linux
    6篇
  • JUC
    1篇
  • SpringCloud
    1篇
创作活动更多

如何做好一份技术文档?

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

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

TCC-Transaction原理解析

了解一下分布式 事务的原理
原创
发布博客 2022.11.12 ·
297 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Kafka集群搭建 topic+partition消费逻辑梳理

文章目录Zookeeper内部信息Kafka指令消费逻辑kafka的consumer是以什么为粒度更新&持久化offset的???Zookeeper内部信息查看当前那个broker是controllerget /controllerls /brokersls /brokers/topics 查看当前kafka 集群中的所有topicKafka指令kafka-topics.sh --zookeeper hadoop3:2181 --create --topic first --part
原创
发布博客 2022.01.25 ·
1371 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Kafka初始,架构模型,角色功能梳理

[root@hadoop1 kafka]# kafka-topics.sh --zookeeper node3:2181,node4:2181 --create --replica-assignment 3 --partition 2 --topic ooxxException in thread "main" joptsimple.UnrecognizedOptionException: partition is not a recognized option at joptsimple.Optio.
原创
发布博客 2022.01.23 ·
3169 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

服务器的单线程以及多线程读写数据库

herostory3 添加了以下几种功能1.在moveTo上添加fromX,fromY2.解决了 自己刷新,其他用户也回归原点的问题(正常应该沿着原本的路线走)3.单线程解决 血量可能因为并发出错4.添加登录问题那么为什么需要使用服务器单线程呢?由图就可以知道,默认netty就是使用多线程执行的,如果执行某些业务的话,那么我们需要如何保证 数据的线程安全问题,此时只能使用单线程了。那么为什么后面又需要使用多线程呢?比如用户量一多,单线程执行的就比较慢了,我们就可以使用这种多线程异步的方式
原创
发布博客 2022.01.09 ·
1236 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty 游戏开发 自动注入handler以及通过Javassist提高反射效率

通过路径扫描,扫描出该包或子包中标有@CmdHandler注解的类,然后通过反射,将其实例化后缓存。try { Set<Class> classes = ScanPackageUtil.ScanPackage("org.tinygame.herostory2", CmdHandler.class); if(classes == null){ logger.error("自动添加handler扫描包失败");
原创
发布博客 2022.01.04 ·
2739 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty 游戏开发 -重构 -设计模式实战

先来看几段代码从 解码-> 处理 -> 编码,你会发现我们使用了很多的if或者case,尤其是这个handler处理这一步代码量非常多,还是多功能的耦合在一起,非常不利于业务的拓展以及维护。略懂设计模式的应该都懂,需要使用设计模式中的工厂模式来优化。创建对应的工厂,使用hashmap集合来存储编码器和解码器工厂(消息编码工厂)Handler处理器工厂需要获取的话直接使用 map.get来获取对应的value,看这个handlerMap,每个命令需要执行的具体业务就交给一个
原创
发布博客 2021.12.29 ·
1760 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty入门之游戏开发 Protobuf消息应用

首先来看看需要完成的游戏效果,两个客户端都可以移动,其他客户端也实时可见,刷新那一方刷新两个英雄都回归原点(bug),另一方还在连接的那一方正常。网页浏览地址http://cdn0001.afrxvk.cn/hero_story/demo/step010/index.html?serverAddr=127.0.0.1:11234&userId=2GameMsgProtocol.protosyntax = "proto3";package msg;option java_packag
原创
发布博客 2021.12.27 ·
1828 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

zookeeper原理知识,Paxos、ZAB协议、Watch、API

paxos简单介绍https://www.douban.com/note/208430424/Zookeeper Atomic Broadcast(原子广播)简称为ZAB协议看了前面的Paxos算法,我们可能会认为Zookeeper就是基于Paxos算法的实现,但是事实上,Zookeeper并不是完全采用的Paxos,而是一种名为Zookeeper Atomic Broadcast,简称ZAB协议的一种支持奔溃恢复的协议作为数据一致性核心算法。ZAB协议定义整个Zookeeper中关于事物消息的处理流程
原创
发布博客 2021.11.25 ·
1211 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

zookeeper介绍、安装、shell cli使用

我们是用keepalived一般采用的是主从模型,看过去好像很可靠,但是不要忘了keepalived也只是一个程序而已,当keepalived因为某些异常退出(不是stop,stop会执行相应的关闭命令),导致物理网卡配置的eth0:2子接口还是暴露的。此时从机器的keepalived也启动,也会将物理网卡的eth0:2暴露出来,那么可能会出现同一个连接的数据包转发到不同的RServer上去,而导致数据包被丢弃,虽然三次握手会重传,但是会导致效率不高的问题。此时zookeeper就可以派上用场啦!!!请
原创
发布博客 2021.11.24 ·
110 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高并发负载均衡:基于keepalived的lvs高可用搭建

1
原创
发布博客 2021.11.20 ·
734 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高并发负载均衡:LVS的DR模型试验搭建

11
原创
发布博客 2021.11.19 ·
366 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高并发负载均衡:LVS的DR,TUN,NAT模型推导

lvs三层hold住流量,nginx控制(hold)住握手,tomcat控制住计算
原创
发布博客 2021.11.18 ·
591 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高并发负载均衡:网络协议原理

OSI七层模型查看Linux当前进程的文件描述符接着执行8这个文件描述符(输入和输出),与外界建立套接字(socket),这就是Linux操作系统中万物皆文件的概念关闭当前8文件描述符exec 8<& -三次握手建立连接,四次挥手建立连接查看Linux网卡信息cat /etc/sysconfig/network-scripts/ifcfg-eth0/etc是用来存放系统主要的配置文件,例如人员的账号密码文件、各种服务的起始文件等。一般来说,这个目录下的各文件属性是可以
原创
发布博客 2021.11.15 ·
1377 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

面试官:群聊消息的已读未读功能,你来设计一个?

企业IM比如企业微信、钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的详情变成x人已读,y人未读,如下图所示,有具体的已读未读列表(万恶的功能,看到同事or老板的消息不能假装没看到了),每条消息对应一个唯一的messageid(uint64_t),每个用户对应一个唯一的userid(uint64_t),应该如何保存这个消息对应的已读未读详情呢?第一反应就是很简单粗暴的方案对于每一个messageid,存当前readi.
原创
发布博客 2021.11.15 ·
311 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

福州锐捷网络java后端开发工程师面试

一面 技术面首先针对简历问,你的项目使用的技术栈,比如使用RebbitMQ对它的理解,数据库有什么感觉设计的比较好的,为什么这样设计,有什么问题,怎样解决的?Redis你是用来干什么的?会遇到什么问题?如何解决?防止用户的短信轰炸,如何解决?我回答的是使用在server层判断该用户ip的次数或者使用AOP来实现。那还有没有其他方法呢?呃呃呃,我想不起来了,其实微服务的GetWay网关是可以实现的。简历上面写的几乎都有涉及到二面 综合面总的是以唠叨为主,你有什么优势?逻辑性强热爱学习你是怎样
原创
发布博客 2021.10.20 ·
795 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

23种设计模式之6大原则

1.单一职责原则单一职责约定一个类应该有且仅有一个改变类的原因视频观看的角色分为 访客用户(480p)、普通会员(720p)、VIP会员(1080p),以及是否有广告违背原则方案创建一个VideoUserService类,创建一个方法,通过if…else if…else进行判断虽然看过去好像没什么问题,但是很多东西堆在一起,难维护!!!单一职责原则改善方案定义一个IVideoUserService接口,内部定义两个方法void definition();//视频清晰度void adver
原创
发布博客 2021.09.02 ·
82 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MyBatis-Plus 实体entity自动生成器

话不多说,直接上代码运行// 1、创建代码生成器// AutoGenerator mpg = new AutoGenerator(); AutoGenerator mpg = new AutoGenerator(); // 2、全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir");
原创
发布博客 2021.06.28 ·
1381 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Reactor主从模型以及netty之ChannelInitializer源码分析

fd
原创
发布博客 2021.06.18 ·
193 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Elasticsearch的基本操作CRUD

配置Maven<dependencies> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.8.0</version> </dependency>
原创
发布博客 2021.06.04 ·
210 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

BIO演变到NIO,以及select、poll、epoll

BIO模型BIO模型也称为同步非阻塞模型,当ServerSocket需要accept()、read()、write()时,调用操作系统的相关函数,但是如果没有拿到对应的数据时,会一直阻塞在那里。当服务器每接收一个Client就需要开启一个线程去处理在现在访问量如此之大的条件下,C10K问题是无法避免的,一台服务器根本无法开启如此之多的线程来处理那么在硬件方面是否可以解决,答案是可以。但是N多台服务器分布式,你想想,这在经济方面是非常昂贵的,很多公司是承担不起的,而且你为每个用户开启一个线程,你能确
原创
发布博客 2021.06.07 ·
239 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏
加载更多