
分布式
文章平均质量分 64
安安静静写bug
记录笔记
展开
-
阿里云centenos7.6版本安装JDK\mysql\redis\nginx\RabbitMQ合集
以下安装均使用的是阿里云centenos7.6版本1、安装JDK1、查看可安装的jdk版本yum -y list Java*2、安装yum install -y java-1.8.0-openjdk-devel.x86_643、查看版本java -version4、切换到安装目录cd /usr/lib/jvmJAVA_HOME指向一个含有java可执行程序的目录(一般是在 bin/java中,此目录为/bin/java的上级目录),用cd 命令进入到 jvm下唯一的一个目录中 j原创 2021-03-18 10:49:10 · 621 阅读 · 0 评论 -
项目中双重加锁与redis的配合使用
说明,在工作中遇到的一个类似于单例模式双重加锁与redis结合的应用,因此记录下来,但是最开始代码有些问题,之后我做了些改进1、synchronized加锁场景,根据商品id(itemId)去查找商品,先从缓存中获取,缓存中获取不到再从数据库中获取。最开始的伪代码如下,但存在一些问题:String key = String.format("item.detail.%s", itemId); // 从redis中获取数据-这里可能有多个线程同时从redis中获取数据 .原创 2020-07-19 16:14:26 · 608 阅读 · 2 评论 -
elasticsearch结合canal实战-问题搜索系统
你是否有这样的困惑?刚进一家公司后遇到各种bug,而这些bug很多和公司所使用的技术栈有关,有些问题你排查起来很难定位到具体错误原因,解决起来会很废时间,当然你可以咨询同事,但是他们也不一定有空,也可能不知道,于是在接触es与canal后我想写这样的一个简单的问题搜索系统,帮助你快速搜索到类似到问题,而不是在百度里面去大海捞针。系统还不是很完善,还有很多不足到地方,比如前端页面显示数据到问题,本人主要是后台开发,前端这部分还没有写,如果有感兴趣的小伙伴,欢迎加入,GitHub:https://git.原创 2020-07-12 18:04:11 · 781 阅读 · 0 评论 -
Netty之bind源码分析
本文将对Netty服务端中的bind方法进行分析,该方法是Netty核心的实现,通过本文你将了解Netty是怎样接收请求和处理请求的。1.bind(…)方法之前的文章已经介绍过ServerBootstrap 和相关的方法,这里主要分析的是bind()方法ServerBootstrap bootstrap = new ServerBootstrap();# 绑定端口bootstrap.bind(9000).sync();这里开始分析主流程,bind()方法里面最后会调用doBind().原创 2020-05-30 20:37:14 · 458 阅读 · 0 评论 -
Netty之ServerBootstrap源码分析
本文是对Netty的服务端ServerBootstrap类的简单分析,以此来学习Netty源码的设计思想,通过本文你将了解Netty是如何创建启动类的,如有错误请指出,谢谢。ServerBootstrap启动1.构造启动类# 创建启动类ServerBootstrap bootstrap = new ServerBootstrap();2.注册基本信息# 1.group:将创建的bossGroup与workerGroup线程组添加到启动类中# 2.channel:设置创建消息事件传输的管道.原创 2020-05-10 21:14:57 · 331 阅读 · 0 评论 -
Netty之NioEventLoopGroup源码分析
本文是对Netty中NioEventLoopGroup的简单分析,该类是连接接入的入口,它负责新连接的接入与连接事件的处理,接下来我会从使用它的角度去分析该类的作用,通过本文你将了解到Netty是如何创建线程去处理连接的,如果文章中有错误希望能够指出,谢谢。NioEventLoopGroup之大管家我们在编写Netty服务的时候,首先会创建bossGroup与workerGroup,如下...原创 2020-04-19 14:53:06 · 444 阅读 · 0 评论 -
zookeeper部署与构造分析
1.什么是zookeeper首先我们要知道zookeeper是什么,百度百科中说,zookeeper是用于分布式应用程序的协调服务。简单来说zookeeper是基于内存的数据库(底层是CocurrentHashMap),可以在分布式环境中协调服务的服务。zookeeper中最重要的基本结构是znode,也就是节点,节点中存储了路径和数据,每个节点都可以设置不同的权限,根节点的权限不会影响子节...原创 2020-03-03 17:58:34 · 192 阅读 · 0 评论