- 博客(457)
- 收藏
- 关注
原创 Reactor简述
Reactor是一个计算机编程模式,它在并发编程和网络编程中用于处理大量并发输入事件。在该模型中,一个中心调度组件(即Reactor)负责监听和分发来自多个客户端的事件到相应的处理器或回调函数。当有事件发生时,如网络连接请求、数据到达等,Reactor能够及时响应并高效地将这些事件分配给适当的处理逻辑进行执行。
2024-01-30 16:57:13 1075
原创 多路复用简述
多路复用是一种计算机编程和通信领域的技术,用于有效地处理多个输入/输出任务或连接,提高系统的性能和响应性。它的主要目的是在一个单一的线程或进程中同时处理多个任务,而不是为每个任务创建一个独立的线程或进程。select 是一种 I/O 复用模型,允许一个进程同时监视多个文件描述符,当其中任何一个文件描述符就绪(有数据可读或可写)时,该进程就可以进行相应的读写操作。poll 与 select 类似,也是一种多路复用机制,但使用起来更为方便,因为它不需要维护文件描述符的位图。
2024-01-27 15:14:41 928
原创 rocketmq消息堆积
因此,面对RocketMQ消息堆积的问题,通常需要采取措施来优化生产和消费的速度匹配,合理分配和扩展消费者的处理能力,以及根据实际情况调整RocketMQ的配置参数,确保消息能够及时得到处理。同时,对异常堆积情况进行监控报警,以便快速发现并解决潜在问题。
2024-01-21 18:30:15 462
原创 java中==和equals区别
是Object类中的一个方法,用于比较两个对象的内容是否相等。是Java中的基本比较操作符,用于比较两个变量的值是否相等。方法在比较对象时有着本质的区别。
2024-01-19 11:03:32 343
原创 Sentinel限流、熔断
总结来说,信号量隔离侧重于快速地限制并发请求数量,适用于轻量级服务或者对响应速度要求较高的场景;而线程池隔离则适合于资源密集型操作,它可以更有效地控制资源内部的状态,并防止由于过多并发而导致的服务雪崩效应。,但同时也支持配置为线程池隔离以满足特定需求。Sentinel 中的信号量隔离和线程池隔离机制都是针对。它们主要用于控制单机上的并发请求量或资源消耗,确保在该服务节点层面不会因并发过高而导致系统过载。
2024-01-14 15:53:15 1036
原创 分布式事务2PC、3PC
分布式事务的二阶段提交(Two-Phase Commit, 2PC)和三阶段提交(Three-Phase Commit, 3PC)是用于处理分布式系统中事务一致性的两种不同的协议。这两种协议的主要区别在于其阶段数和容错性。
2024-01-12 17:56:08 415
原创 mysql undo log、redo log、binlog、mvcc、Buffer Pool的关系
MySQL中的undo log、redo log、binlog和MVCC(多版本并发控制)是数据库管理系统中的重要概念,它们各自有不同的作用和关系。
2024-01-12 16:22:59 453 1
原创 spring状态机
*** 状态**/// 未连接// 已连接CONNECTED,// 注册中// 已注册REGISTERED;/*** 事件**/// 连接CONNECT,// 注册REGISTER,// 注册成功// 注册失败// 注销。
2023-12-26 17:47:27 998
原创 贪心算法实现
贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。贪心算法的每一步都是基于当前状态下的最优解来选择下一步,因此它不能保证全局最优解,只能保证局部最优解。贪心算法的优点是思路简单、易于实现、时间复杂度较低,但缺点是可能得到非全局最优解。
2023-12-25 15:26:46 574
原创 jvm内存模型
JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建销毁时间。如下图所示,可以分为两大部分,线程私有区和共享区。
2023-12-22 15:00:17 956 1
原创 时间、空间复杂度
在实际应用中,我们通常更关注时间复杂度,因为它对算法的性能影响更大。然而,在某些情况下,例如处理大规模数据集时,空间复杂度也可能非常重要。
2023-11-30 14:59:22 114
原创 Java数据结构之优先级队列(PriorityQueue)
队列:是一种FIFO(First-In-First-Out)先进先出的数据结构,对应于生活中的排队的场景,排在前面的人总是先通过,依次进行。优先队列:是特殊的队列,从“优先”一词,可看出有“插队现象”(优先即比较大小)。比如送进医院的患者,即便是按顺序到达的,生病更加严重的往往优先级也会更高。优先队列至少含有两。
2023-11-28 15:43:14 175
原创 MapReduce概念
MapReduce 的主要优点是它可以在大规模数据集上高效地处理任务,并且可以很容易地扩展到大量机器上。它还提供了一种简单的编程模型,使得开发人员可以轻松地编写分布式计算程序。
2023-11-27 17:52:25 314
原创 支付、结算、对账流程
以微信支付为例,用户使用北京银行,商户收款银行为工行银行,列出机构名需要注意的是,这只是一个简化的流程描述,实际的微信支付交易流程可能会因具体情况而有所不同。此外,微信支付还支持其他支付方式,如零钱支付等,这些支付方式的交易流程也可能会有所不同。
2023-11-19 16:42:52 340
原创 数据库设计
例如,在多个表中都包含相同的客户地址信息,可以将地址信息存储在一个单独的表中,并在其他表中使用该表的地址信息作为冗余字段。这些字段通常用于描述业务实体或对象的基本属性和状态,例如客户信息、订单数据、产品信息等。业务字段是与具体的业务需求和业务流程相关联的,是实现业务功能和数据交互的核心。这些字段通常用于支持特定业务场景或数据处理需求,例如根据订单日期和交付状态计算订单的完成率、根据客户信息和购买历史预测客户的购买偏好等。衍生字段可以根据业务需求和算法动态生成并更新,是实现特定业务功能和数据处理的重要工具。
2023-11-17 11:54:56 382
原创 java同步器
描述依赖关系thenApply() 把前面异步任务的结果,交给后面的FunctionthenCompose()用来连接两个有依赖关系的任务,结果由第二个任务返回描述and聚合关系thenCombine 任务合并,有返回值thenAccepetBoth 两个任务执行完成后,将结果交给thenAccepetBoth消耗,无返回值runAfterBoth 两个任务都执行完成后,执行下一步操作(Runnable)描述or聚合关系。
2023-11-17 10:24:15 94
原创 try catch finally注意事项
try-catch-finally 语句是 Java 中常用的异常处理机制,其中 finally 块用于在 try 块和 catch 块执行完毕后执行一些必要的清理操作,例如释放资源、关闭文件等。总之,try-catch-finally 语句是 Java 中常用的异常处理机制,使用时需要注意以上几点,以确保程序的正确性和稳定性。
2023-11-16 16:39:19 99
原创 HandlerMethodArgumentResolver方法参数解析器支持多用户
HandlerMethodArgumentResolver方法参数解析器支持多用户
2023-11-04 11:29:05 271
原创 spring boot项目优雅停机
在真实的工作中的时候4.3比较常用,程序中一般使用内存队列或线程池的时候最好要优雅的关机,将内存队列没有处理的保存起来或线程池中没处理完的程序处理完。但是因为停机的时候比较快,所以停服务的时候最好不要处理大量的数据操作,这样会影响程序停止。以上这几种方法实现的话比较简单,但是真实工作中还需要考虑的点还很多,比如需要保护暴露的点不被别人利用,一般要加一些防火墙,或者只在内网使用,保证程序安全。
2023-10-25 15:52:57 1323
原创 数据-OLTP、OLAP
数据仓库中的OLAP和OLTP是两种不同的数据处理方式,分别以数据分析和实时事务处理为核心。了解它们的区别有助于我们更好地选择合适的处理方式,并且在实际应用中可以发挥它们的优势。简单谈谈OLTP,OLAP和列存储的概念-腾讯云开发者社区-腾讯云百度安全验证。
2023-10-20 14:43:18 644
原创 Nginx替代产品-阿里Tengine安装
1、下载下载地址:http://tengine.taobao.org/download_cn.html$ wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz #下载$ tar zxvf tengine-2.3.3.tar.gz #解压2、安装$ yum install -y zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ #安装依赖
2023-10-18 17:54:26 338
原创 架构-设计原则
SOLID是5个设计原则开头字母的缩写,其本身就有“稳定的”的意思,寓意是“遵从SOLID原则可以建立稳定、灵活、健壮的系统”。Single Responsibility Principle(SRP):单一职责原则。一个类,只做一件事,并把这件事做好,其只有一个引起它变化的原因。Open Close Principle(OCP):开闭原则。Liskov Substitution Principle(LSP):里氏替换原则。
2023-10-16 15:44:07 474
原创 Gossip协议
Gossip 协议也叫 Epidemic 协议 (原本用于分布式数据库中节点同步数据使用, 后被广泛用于等。Gossip 协议利用一种随机的方式将信息传播到整个网络中,并在一定时间内使得系统内的所有节点数据一致。Gossip 其实是一种,解决在集群中的和。
2023-10-01 14:29:59 211
原创 运维常用概念
域名就是为了方便你记住某个网站,比如你肯定知道baidu.com是百度的地址,但是你肯定不知道百度服务器的IP地址(当然百度也不会让你知道)那我们如何保证域名的唯一性呢,我们只能从被认可的机构购买域名,常见的有,新网,万网(阿里)。那域名是如何对应到正确的服务器IP地址上去呢?这就是DNS的功能了。
2023-09-25 11:30:22 96
原创 虚拟ip、浮动ip
虚拟 IP 是一个虚拟的、软件定义的 IP 地址,它可以用来在网络中隐藏真实的 IP 地址,或者在多个物理服务器之间共享一个 IP 地址。虚拟 IP 通常用于网络负载均衡、高可用性和网络安全等方面。
2023-09-19 13:09:20 1191
原创 Nginx替代产品-Tengine健康检测
Tengine默认将安装在/usr/local/nginx目录。你可以用'--prefix'来指定你想要的安装目录。该模块可以为Tengine提供主动式后端服务器健康检查的功能。以上面的配置为例,有两台服务器,分别为。从负载均衡池中摘除,不再将流量分发到该节点。从故障状态中恢复,重新将流量分发到该节点。该指令可以打开后端服务器的健康检查功能。的故障已经修复,连续成功次数达到了。指定的成功次数2次,NGINX会将。出现故障,连续失败的时间超过了。指定的次数5秒,NGINX会将。从负载均衡池中摘除后的操作。
2023-09-17 16:49:03 617 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人