ZhouJ000 Blog

精彩不亮丽 起落是无常

分布式事务

事务 事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致整个事务的回滚。简单讲,事务提供一种”要么都不做,要么全做(All or Nothing)”的机制 ACID 数据库事务的四个基本要素: 1、原子性(Atomicity):整个事务中的所有操作,要么全部完成,要么全部...

Kafka(四) 简略设计原理

Kafka(一) 入门 Kafka(二) Producer与Consumer开发 Kafka(三) 简略集群管理 Kafka(四) 简略设计原理 设计原理 broker端 broker是Kafka的重要组件,本质上它是一个功能载体(或服务载体),承担了绝大多数的Kafka服务。实际上大多数的消息队列框架都有broker或与之类似的角色。一个broker通常是以服务器的形式出现的。对用户...

Mybatis源码探究

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录 MyBatis并不是一个完整...

简明Lucene

全文检索 全文检索简单讲就是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程 数据总体分为两种: 1、结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等 1.1、结构化数据一般可以通过存放在数据库实现搜索,使用sql语句进行查询 2、非结构化数据:指不定长或无固定格...

Kafka(三) 简略集群管理

Kafka(一) 入门 Kafka(二) Producer与Consumer开发 Kafka(三) 简略集群管理 Kafka(四) 简略设计原理 集群部署 操作系统选型: Linux比Windows更适合,主要因为I/O模型的使用和数据网络传输效率。关于I/O模型,主流5种:阻塞、非阻塞IO、IO多路复用、信号驱动IO和异步IO。比如Socket的阻塞与非阻塞模式对应前两种,而Linux...

Kafka(二) Producer与Consumer开发

Kafka(一) 入门 Kafka(二) Producer与Consumer开发 Kafka(三) 简略集群管理 Kafka(四) 简略设计原理 Producer开发 Kafka producer在设计上比consumer简单点,因为它不涉及复杂的组管理操作,即每个producer都是独立进行工作的,与其他producer实例之间没有关联。目前producer的首要功能就是向某个topi...

Kafka(一): 入门

Kafka(一) 入门 Kafka(二) Producer与Consumer开发 Kafka(三) 简略集群管理 Kafka(四) 简略设计原理 对比 之前在工作的项目中用过ActiveMQ、RabbitMQ、RocketMQ,现在学习一下Kafka,先来对比看下: ActiveMQ: 完全支持JMS1.1,协议支持包括:OpenWire、REST、STOMP...

Dubbo(五):自定义扩展

Dubbo(一):从dubbo-demo初探dubbo源码 Dubbo(二):架构与SPI Dubbo(三):高并发下降级与限流 Dubbo(四):其他常用特性 Dubbo(五):自定义扩展 核心流程 首先看一下dubbo官网给出的dubbo层级图,dubbo的分层非常清晰: 大致注册流程: 在Provider端启动后,由spring加载xml或注解配置的dubbo bean,在Se...

Dubbo(四):其他常用特性

Dubbo(一):从dubbo-demo初探dubbo源码 Dubbo(二):架构与SPI Dubbo(三):高并发下降级与限流 Dubbo(四):其他常用特性 Dubbo(五):自定义扩展 配置基础 负载均衡 负载均衡改善了跨多个计算资源(例如计算机,计算机集群,网络链接,中央处理单元或磁盘驱动的的工作负载分布。负载平衡旨在优化资源使用,最大化吞吐量,最小化响应时间,并避免...

Dubbo(三):高并发下降级与限流

Dubbo(一):从dubbo-demo初探dubbo源码 Dubbo(二):架构与SPI Dubbo(三):高并发下降级与限流 Dubbo(四):其他常用特性 Dubbo(五):自定义扩展 前提 超时(timeout):在接口调用过程中,Consumer调用Provider的时候,如果Provider要10s响应,那么Consumer也会至少10s才响应。这种响应时间慢的症状会像波浪一...