第二章 潜意识 任何痛苦事件都不会自动消失,哪怕再小的事情也是如此。要想不受其困扰,唯一的办法就是正视它、看清它、拆解它、化解它,不给它进入潜意识的机会,不给它变模糊的机会;即使已经进入潜意识,也要想办法将它挖出来。所以,当你感到心里有说不清、道不明的难受的感觉时,赶紧坐下来,向自己提问 。 到底是什么让自己烦躁不安?是上台演讲、会见某人,还是思绪纷乱? 具体是什么让自己恐惧担忧?是能力不足、准备不够,还是害怕某事发生? 面对困境,我能做什么?不能做什么?如果做不到或搞砸了,最坏的结果是什么? 禁止心猿意马,做一件…

2022年12月7日 0条评论 554点热度 0人点赞 王谷雨 阅读全文

前言 MQ(Message Queue)就是消息队列,其有点有很多:解耦、异步、削峰等等,本文来聊一下RabbitMQ的一些概念以及使用。 RabbitMq 案例 Springboot整合RabbitMQ简单案例 基本概念 Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。 Queue:消息队列载体,每个消息都会被投入到一个或多个队列。 Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。 Routing Key:路由关键字,exchange根据这个关键字进行消息…

2022年11月24日 0条评论 331点热度 0人点赞 王谷雨 阅读全文

1. pom.xml引入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 2. 配置application.yml 根据自己的配置填写即可 spring: rabbitmq: username: xxx password: xxx virtual…

2022年11月24日 0条评论 840点热度 0人点赞 王谷雨 阅读全文

前言 我在上一篇文章聊了Redisson的可重入锁,这次继续来聊聊Redisson的公平锁。下面是官方原话: 它保证了当多个Redisson客户端线程同时请求加锁时,优先分配给先发出请求的线程。所有请求线程会在一个队列中排队,当某个线程出现宕机时,Redisson会等待5秒后继续下一个线程,也就是说如果前面有5个线程都处于等待状态,那么后面的线程会等待至少25秒。 源码版本:3.17.7 这是我 fork 的分支,添加了自己理解的中文注释:https://github.com/xiaoguyu/redisson 公…

2022年11月8日 0条评论 445点热度 0人点赞 王谷雨 阅读全文

前言 Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。Redisson有一样功能是可重入的分布式锁。本文来讨论一下这个功能的特点以及源码分析。 前置知识 在讲Redisson,咱们先来聊聊分布式锁的特点以及Redis的发布/订阅机制,磨刀不误砍柴工。 分布式锁的思考 首先思考下,如果我们自己去实现一个分布式锁,这个锁需要具备哪些功能? 互斥(这是一个锁最基本的功能) 锁失效机制(也就是可以设置锁定时长,防止死锁) 高性能、高可用 阻塞、非阻塞 可重入…

2022年11月7日 0条评论 1265点热度 1人点赞 王谷雨 阅读全文

前言 如果你有自己的云服务器,并且需要用到内网穿透,那么可以考虑使用FRP搭建自己的内网穿透服务。 常用的内网穿透工具有:cpolar、natapp、向日葵…… 但是以上介绍的工具,如果使用免费版,都有诸多限制(毕竟要恰饭的嘛)。所以,干脆自己弄一个吧。 安装 我使用的版本是 V0.43.0,下面以 http 穿透举例。 下载 在Github的 Release 页面下载对应版本,下面是我下载的版本 服务器:frp_0.43.0_linux_amd64.tar.gz 本地win10:frp_0.43.0_window…

2022年11月1日 0条评论 511点热度 0人点赞 王谷雨 阅读全文

添加远程连接配置 启动远程服务器上的Java项目 在上一个步骤,我们复制了这一串东西 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 这是jvm的启动参数,当我们启动java项目时添加上这串参数,就可以开启远程调试。下面以启动jar包为例: java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 xxx.jar 如果是Docker部署…

2022年9月23日 0条评论 831点热度 0人点赞 王谷雨 阅读全文

前言 最近在写东西部署到服务器,结构是springboot工程配合docker部署。 但是每次部署都3个步骤: 本地构建jar 复制jar到远程服务器 用DockerFile构建镜像 部署次数一多,我就怀疑人生了。就在找有没有IDEA远程部署Docker的方案,于是就有本篇博客。 环境: 本地IP:192.168.1.5 Docker远程主机:192.168.1.199 开启docker remote API docker远程访问api有两种方式: 普通方式(一般用2375端口) TSL方式(一般用2376端口) …

2022年9月22日 0条评论 511点热度 0人点赞 王谷雨 阅读全文

1. 前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 源码分析均基于官方Demo,路径:dubbo/dubbo-demo 如果没有看过之前Dubbo系列的文章,建议先去看看。因为服务调用过程涉及范围较广,需要那些前置知识。 Dubbo 服务调用过程比较复杂,包含众多步骤,比如发送请求、编解码、服务降级、过滤器链处理、序列化、线程派发以及响应请求等步骤。限于篇幅原因,本篇文章无法对所有的步骤一一进行分析。后续挖坑再说吧。本篇文章将会重点分析请求的发送与接收、线程…

2022年8月31日 0条评论 488点热度 0人点赞 王谷雨 阅读全文

前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行。 例如:在Dubbo中,同一个服务有多个服务提供者,每个服务提供者所在的机器性能不一致。如果流量均匀分摊,则会导致有些服务提供者负载过高,有些则轻轻松松,导致资源浪费。负载均衡就解决这个问题。 源码 LoadBalance就是负载均衡的接口,咱们先看看类图 Dubbo提供了4中内置的负载均衡实现: …

2022年8月16日 0条评论 437点热度 0人点赞 王谷雨 阅读全文
123457