编辑
2024-05-07
摘录
00

thin模式的意义

使用thin模式降低spring boot包大小。 也就是说,依赖的那些jar不打到fatjar里。从而把动辄100M以上的包,降低到1M的规模。

为什么要做这个事儿呢?实际上我们项目里依赖的那些jar,版本是不会经常变动的。每次打包都带上,导致我们发布过程要一直带了一些很重的制品大小。 所以thin模式还是有价值和意义的。

其实在很早的时候,我们使用tomcat部署多个war,会把一些公用的jar,比如spring,直接丢到tomcat的lib下,这样这些war就不要带spring的那些依赖jar了,从而实现了war包瘦身的目的。

编辑
2024-04-19
摘录
00

一、什么是 WebSocket

WebSocket 是 HTML5 下一种新的协议(WebSocket 协议本质上是一个基于 TCP 的协议)。它实现了浏览器与服务器全双工通信,能更好地节省服务器资源和带宽并达到实时通讯的目的。WebSocket 是一个持久化的协议。

二、WebSocket 的原理

WebSocket 约定了一个通信的规范,通过一个握手的机制,客户端和服务器之间能建立一个类似 TCP 的连接,从而方便它们之间的通信。在 WebSocket 出现之前,Web 交互一般是基于 HTTP 协议的短连接或者长连接。WebSocket 是一种全新的协议,不属于 HTTP 无状态协议,协议名为 "ws"。

WebSocket 与 HTTP 的关系

编辑
2024-04-18
工具
00

1. 安装 Clash

执行以下命令来安装 Clash:

bash
sudo su cd ~ && mkdir data && mkdir /data/clash && cd /data/clash # 选择使用或不使用代理下载Clash wget https://dl3.ssrss.club/clash-linux-amd64-v1.9.0.gz wget --no-proxy https://dl3.ssrss.club/clash-linux-amd64-v1.9.0.gz # 替换成你的Clash订阅链接 wget -O /data/clash/config.yaml "YOUR_SUBSCRIPTION_LINK" wget --no-proxy -O /data/clash/config.yaml "YOUR_SUBSCRIPTION_LINK" # 下载地理数据库 wget https://dl3.ssrss.club/Country.mmdb wget --no-proxy https://dl3.ssrss.club/Country.mmdb # 解压并赋予执行权限 gunzip -c *.gz > clash && chmod +x clash

特殊说明:

  • 如果下载失败,尝试将 dl3 改为 dl
  • 如果非x64位系统,请选择合适版本的Clash并替换下载链接。
  • 更新订阅(无账号需新注册) - 命令:wget -O /opt/clash/config.yaml "YOUR_SUBSCRIPTION_LINK"
  • 官方Github:Dreamacro/clash
编辑
2024-04-10
MQ
00

ActiveMQ 升级配置步骤总结

注意

官方修复建议

  1. 官方已发布漏洞补丁及修复版本,建议受漏洞影响的用户请评估业务是否受影响后,酌情升级至安全版本,参考链接:Tags · apache/activemq · GitHub
  2. 建议不要把 Apache ActiveMQ 系统直接对公网开放(默认端口:616168161)。

一、拉取修复更新版本的源码 ( 版本 > 5.18.3 )

备注:此时最新版本的 activemq 5.18.4 已经发布(修复版本都需要Jdk11环境,否则会报错如下所示

js
Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/activemq/console/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 ..
编辑
2024-04-10
MQ
00

部署方式

Apache RocketMQ 5.0 版本完成基本消息收发,包括 NameServer、Broker、Proxy 组件。 在 5.0 版本中 Proxy 和 Broker 根据实际诉求可以分为 Local 模式和 Cluster 模式,一般情况下如果没有特殊需求,或者遵循从早期版本平滑升级的思路,可以选用Local模式。

  • 在 Local 模式下,Broker 和 Proxy 是同进程部署,只是在原有 Broker 的配置基础上新增 Proxy 的简易配置就可以运行。
  • 在 Cluster 模式下,Broker 和 Proxy 分别部署,即在原有的集群基础上,额外再部署 Proxy 即可。

一、Local模式部署

由于 Local 模式下 Proxy 和 Broker 是同进程部署,Proxy本身无状态,因此主要的集群配置仍然以 Broker 为基础进行即可。

1、启动 NameServer

NameServer需要先于Broker启动,且如果在生产环境使用,为了保证高可用,建议一般规模的集群启动3个NameServer,各节点的启动命令相同,如下:

bash
### 首先启动Name Server $ nohup sh mqnamesrv & ### 验证Name Server 是否启动成功 $ tail -f ~/logs/rocketmqlogs/namesrv.log The Name Server boot success...