有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
系列文章地址
Kafka 是什么?一句话概括:Apache Kafka 是一款开源的消息引擎系统
什么是消息引擎系统?消息引擎系统(Message Broker System)是一种中间件软件或服务,用于在分布式系统中进行异步消息传递。它提供了可靠的消息传输、消息路由和消息处理的功能,使不同的应用程序和组件能够通过发送和接收消息进行通信。
消息引擎系统通常由以下几个核心组件组成:
发布者(Publisher):负责将消息发布到消息引擎系统中。发布者将消息发送到指定的主题(Topic)或队列(Queue)中。
订阅者(Subscriber):订阅者可以通过订阅特定的主题或队列来接收消息。订阅者可以按照自己的需求选择订阅的消息类型和主题。
主题 / 队列(Topic/Queue):主题或队列是消息的目的地,消息发布者将消息发送到特定的主题或队列,而订阅者可以从中接收相应的消息。
消息路由(Message Routing):消息引擎系 ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
什么是 WebSocket?WebSocket 是一种在 Web 应用程序中实现双向通信的协议。它允许在客户端和服务器之间建立持久的、全双工的连接,以便实时地发送数据。
传统的 HTTP 协议是一种无状态的请求 - 响应协议,客户端发送请求,服务器返回响应,然后连接立即关闭。这种模型适用于大多数 Web 应用程序,但对于需要实时数据更新或双向通信的应用程序来说,它并不理想。
WebSocket 通过在客户端和服务器之间建立长久的 TCP 连接,提供了一种持久性的通信通道。它通过在 HTTP 握手过程中升级连接,从而允许在同一个连接上进行双向通信。
WebSocket 的特点包括:
双向通信:WebSocket 允许客户端和服务器之间双向发送数据,而不仅仅是客户端向服务器发送请求。
实时性:WebSocket 提供了高效的实时数据传输,可以在数据可用时立即将其推送给客户端。
较低的开销:WebSocket 使用较少的网络开销,因为它使用持久连接而不需要 ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
系列文章地址
配置文件123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596# ------- Cluster cluster.name: my-cluster# 集群的名称node.name: node-1# 节点的名称node.master: true# 是否允许节点成为主节点(默认为 true)node.data: true# 是否允许节点存储数据(默认为 true)# -------- Paths ------path.data: /path/to/data# 数据文件的存储路径path.logs: /path/to/logs# 日志文件的存 ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
如何使用 Java Stream 进行排序 在 Java 中,使用 Stream 进行排序可以通过 sorted() 方法来实现。sorted()方法用于对 Stream 中的元素进行排序操作。具体实现如下:
对基本类型元素的排序:
使用 sorted() 方法对 Stream 进行排序,默认是按照自然顺序进行排序。例如,对一个 Stream<Integer> 进行排序可以如下操作:
123Stream<Integer> stream = Arrays.stream(new Integer[] {3, 1, 2});Stream<Integer> sortedStream = stream.sorted();sortedStream.forEach(System.out::println);
输出结果是:1, 2, 3。
如果想要按照特定的顺序进行排序,可以使用 sorted(Compara ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
在分布式系统中,分布式锁是一种常见的需求,用于在多个节点之间同步资源访问。Redis 作为一个高性能的内存数据库,提供了多种方式来实现分布式锁。下面详细介绍如何使用 Redis 实现分布式锁,以及相关的注意事项。
基本实现方式 最简单的分布式锁实现方式是使用 Redis 的 SETNX 命令(SET if Not eXists),结合 EXPIRE 命令来设置键的过期时间,避免因程序异常终止而导致锁无法释放。
实现示例1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import redis.clients.jedis.Jedis;public class RedisLock { private Jedis jedis; private String lockKey; private int lockExpi ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
系列文章地址
参考文章
MySQL 逻辑架构
连接器 连接命令一般是这么写的
1mysql -h$ip -P$port -u$user -p
那么
什么是连接器?MySQL 连接器(MySQL Connector)是用于连接和与 MySQL 数据库进行交互的驱动程序。它提供了与 MySQL数据库服务器通信的功能,包括建立连接、执行查询、更新数据等。
MySQL 提供了多种连接器,常用的有以下几种:
JDBC 连接器:JDBC(Java DatabaseConnectivity)是 Java 语言的一种标准 API,用于连接和操作各种数据库。MySQL 提供了一个 JDBC 驱动程序,可以通过 JDBC 连接器在Java 应用程序中连接和操作 MySQL 数据库。
ODBC 连接器:ODBC(Open DatabaseConnectivity)是一种通用的数据库访问接口,可以在不同的编程语言和操作系统中连接和操作多种数据库。MySQL 提供了一个 O ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
官网地址
效果
👀 前言
GitHub 仓库:Artitalk.js
🎉 特性
增删查改全方面支持
支持针对每条说说的评论
支持 Markdown/html 语法
支持图片上传
🚀 快速使用
下列主题已将本项目整合进去,可以直接使用。 感谢以下主题对本项目的支持~
hexo-theme-volantishexo-theme-cardshexo-theme-butterflyhexo-theme-materygridea-theme-darkhexo-theme-MengD🚀 开始使用
🌈 LeanCloud 的相关准备TIP
🎃 与 Valine 在同一个页面使用
如果迫切需要将 Artitalk 与 Valine 在同一个页面使用,可以通过 Artitalk 与 Valine 使用同一个 LeanCloud 的应用来解决。
🌍 建议使用国际版的 LeanCloud
因为国际版的 LeanCloud 不需要配置 serverurl ...
非原创
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准 https://blog.zysicyj.top
原文地址
系列文章地址
vmware 为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。
打开 vmware 虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到 VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT 模式),那么这些都是有什么作用呢?其实,我们现在看到的 VMnet0 表示的是用于桥接模式下的虚拟交换机;VMnet1 表示的是用于仅主机模式下的虚拟交换机;VMnet8 表示的是用于 NAT 模式下的虚拟交换机。
同时,在主机上对应的有 VMware Network Adapter VMnet1 和 VMware Network AdapterVMnet8 两块虚拟网卡,它们分别作用于仅主机模式与 NAT 模式下。在“网络连接”中我们可以看到这两块虚拟网卡,如果将这两块卸载了,可以 ...
首发博客地址
系列文章地址
在 Spring Boot 中,事务传播机制(Transaction Propagation)是 Spring 事务管理的重要部分,它决定了一个事务方法如何参与已有事务或者如何创建新事务。Spring 的事务传播机制提供了多种传播行为,以适应不同的业务需求。下面是 Spring Boot 中常用的事务传播行为的详解:
事务传播行为类型
REQUIRED(默认值)
如果当前存在一个事务,则加入该事务;如果当前没有事务,则创建一个新事务。
适用于大多数场景,默认情况下推荐使用。 1234@Transactional(propagation = Propagation.REQUIRED)public void someMethod() { // method logic}
REQUIRES_NEW
总是创建一个新的事务。如果当前存在事务,则先挂起当前事务。
适用于需要独立事务的场景,如记录操作日志。 1234@Transactional(propagation = Propagation.REQUIRES_NEW)public ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
问题描述 当你访问资源失败,并遇到以下类似提示时:
Access to script at ' 资源路径 ' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome-untrusted, https, edge
解决方法
复制一份你的 Edge 快捷方式,并重命名以与原 Edge 区分
在本地任意位置新建一个文件夹,例如在 C 盘新建文件夹 edgeDevData
右击“跨域”快捷方式,选择“属性”
在“目标”字段的”C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe”后面 ...