Java
文章平均质量分 84
Java基础知识
hi wei
不问未来,只争现在
展开
-
Java开发必备技能:RocketMQ
官方文档可见:https://github.com/hiwei-zhang/rocketmq/tree/develop/docs/cnRocketMQ由以下这几个组件组成负责生产消息,一般由业务系统负责生产消息。一个消息生产者会把业务应用系统里产生的消息发送到broker服务器。RocketMQ提供多种发送方式,同步发送、异步发送、顺序发送、单向发送。同步和异步方式均需要Broker返回确认信息,单向发送不需要。生产者中,会把同一类Producer组成一个集合,叫做生产者组,这类Producer发送同一原创 2022-12-15 15:27:58 · 1736 阅读 · 1 评论 -
java开发必备技能:mysql
数据库性能取决于多种因素,例如表的结构、查询语句和服务器配置等。在数据库级别进行优化:如表结构的优化,存储引擎的选择,mysql的配置等。在硬件级别进行优化:如使用SSD硬盘,CPU和内存优化。在使用级别优化:优化sql语句,集群架构,读写分离。原创 2022-12-15 15:27:18 · 911 阅读 · 0 评论 -
通过代码理解分布式事务:XA模式
什么是XA?看百科:XA协议由Tuxedo首先提出的,并交给X/Open组织,作为资源管理器(数据库)与事务管理器的接口标准。Oracle、Informix、DB2和Sybase等各大数据库厂家都提供对XA的支持。XA协议采用两阶段提交方式来管理分布式事务。XA接口提供资源管理器与事务管理器之间进行通信的标准接口。资源管理器(RM):就是一种存储数据的服务,例如Mysql和Oracle。事务管理器(TM):在分布式系统中,每个系统的有自己单独的本地事务,如何让这些事务组成一个完整的事务?这就是事务管原创 2022-04-20 18:05:16 · 1087 阅读 · 7 评论 -
redis核心知识点总结(超详细)
redis核心知识点总结,超详细原创 2022-03-24 15:17:36 · 4143 阅读 · 1 评论 -
手写限流框架:限流算法落地实现
项目描述本项目是基于Springboot开发的限流工具starter,开箱即用。提供限流兜底扩展点和业务异常处理扩展点,便于自定义降级逻辑。限流模式立即拒绝:采用滑动窗口算法,精准限流排队等待:采用漏桶算法,能设置超时时间,进行请求排队等待限流。使用方式打jar包到本地引入依赖 <dependency> <groupId>com.hiwei</groupId> <artifact原创 2022-03-12 15:43:31 · 504 阅读 · 0 评论 -
攻破zookeeper选举流程(附带手写实现)
本文主要讲解zookeeper选举原理,然后手写zookeeper选举流程,手写版本更加精简,便于理解分布式中间件选举落地的实现。原创 2021-12-06 17:16:43 · 2364 阅读 · 6 评论 -
Redis五种数据类型及使用场景
redis的数据类型redis主要支持五种数据类型:string、list、hash、set、zsetredis有很多命令,我们可以查看文档,也可以通过help查看命令:help @stringhelp @listhelp @hashhelp @sethelp @sorted_set例如执行:help @stringstring操作命令及使用场景string常用命令字符串常用操作SET key value; -- 存入一个字符串键值对MSET key1 value原创 2021-11-05 20:15:00 · 4126 阅读 · 10 评论 -
Tomcat是如何启动Spring项目的?
tomcat加载spring IOC流程tomcat在启动ServletContext容器的时候会发布ServletContextEvent事件。Spring就通过实现ServletContextListener接口,监听该事件来监听ServletContext的生命周期。web.xml配置spring IOC配置文件:Spring中ContextLoaderListener实现了ServletContextListener接口:对ServletContext启动监听:在initWebApp原创 2021-10-26 11:16:19 · 4903 阅读 · 0 评论 -
RabbitMQ(一):工作模型
RabbitMQ实现了AMQP协议,所以RabbitMQ的工作模型也是基于AMQP的。Broker:RabbitMQ宿主机。默认端口是5672。Connection:无论是生产者发送消息,还是消费者消费消息,都必须要跟Broker之间建立一个连接,这个连接时一个TCP长连接。Channel:如果所有的生产者和消费者都直接创建和释放TCP长连接的话,对于Broker来说肯定会造成很大的性能损耗,也会浪费时间。所以在AMQP里面引入了Channel的概念,它是一个虚拟的拦截。我们把它翻译成通道。原创 2021-04-13 15:09:02 · 3257 阅读 · 0 评论 -
kafka(一):kafka架构
kafka是什么?kafka的定位:消息中间件消息引擎分布式实时流处理平台。使用场景大数据领域:网站行为分析、日志聚合、应用监控、流式数据处理、在线和离线数据分析等领域。数据集成:将消息导入MaxCompute、OSS、RDS、Hadoop、HBase等离线数据仓库。流计算集成:与StreamComputer、E_MapReduce、Spark、Storm等流计算引擎集成。kafka架构...原创 2021-04-07 20:09:25 · 3191 阅读 · 2 评论 -
关于http和https协议
2.http协议的特点 http协议是无状态的 使用session和token可解决此弊端。 通信是明文的(不安全) 使用https协议 https通信原理: http: https:...原创 2019-07-11 11:08:33 · 7296 阅读 · 1 评论