简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
前言关系代数的出现,主要是源于对声明性语言与程序性语言的讨论,两边的代表分别是 SQL 和 关系代数(RA)。SQL是一种声明性查询语言,它描述希望获得的元组集合,为了数据库中有效地实现查询,需要将 SQL 查询转换成过程性程序。关系代数(RA)是一种用于关系数据库的查询语言,它在用户界面中是不可见的,但是在SQL的核心起着重要作用,还提供了一个评估 SQL 的中间步骤。RA 常用于关系...
时间轮算法的应用非常广泛,在 Dubbo、Netty、Kafka、ZooKeeper、Quartz 的组件中都有时间轮思想的应用,甚至在 Linux 内核中都有用到。
Kafka 的消费者模式,通过都会默认开启自动提交偏移量,但是在一些服务的消费业务中,可能由于业务本身的复杂性或者网络的不稳定,导致在设定的自动提交周期内监听器并没有及时提交偏移量,此时 kafka 服务没能接收到心跳而挂掉,就会触发 rebalance 重新分配分组给客户端,进而在消费完成后,提交偏移量失败。通过提供上述的接口,运维人员可以在服务发布上线之后,根据业务需求动态地管理 kafka
时间轮算法的应用非常广泛,在 Dubbo、Netty、Kafka、ZooKeeper、Quartz 的组件中都有时间轮思想的应用,甚至在 Linux 内核中都有用到。
前言一个设计良好的数据库模式(database schema),应该要具备以下特点:完整性(Completeness)减少冗余(Redundancy freeness)一致的含义(Consistent understanding)良好的性能(Performance)一个设计不好的数据库模式,可能会出现以下的问题:数据不一致数据冗余更新异常为什么需要函数依赖...
数据库的设计通常需要经历四个部分:需求收集与分析(Requirements Collection and Analysis)概念设计(Conceptual Design) —— 设计实体关系模型 (ER Model)逻辑设计(Logical Design)—— 实现从 ER 模型到关系模式(Relation Schemas)的转换。物理设计(Physical Design)本文主...
概述Feign 是一个声明式的 Web 服务,通过定义一个添加相应注解的接口,即可完成一个 Web 服务的接口。SpringCloud 对 Feign 进行了封装以后,其开始能够支持 Spring MVC 标准注解,同时在 SpringCloud 架构上结合 Eureka 和 Ribbon,还能够支持负载均衡。既然是一个 Web 服务,必然服务端模块与客户端模块都加入 Feign 依赖以及对接的
Validation 和 validator 包提供了一系列校验用注解,帮助我们在 RESTful 服务请求中实现期望的数据校验,其注解的功能包括但不限于入参的存在性判断、非空判断、数值取值范围限定、特定含义数据格式校验、校验失败提示信息等。Maven 依赖在 SpringBoot 2.3 版本之前的项目中,主要需要添加的依赖包括以下两个。其中 spring-boot-starter-web 包含
在 SpringBoot 中,利用 AOP 实现拦截控制的方法有很多,个人觉得相对比较简洁、比较简单的方式是通过自定义注解实现拦截控制。这种实现方式只需要预先定义一个新的注解,并实现拦截控制的具体业务逻辑,当我们想要拦截某一个方法进行控制时,只需要在方法前加上该注解,通常不需要做过多的调整。在实际工程应用中,这种实现方式确实有效提升了开发效率。AOP 的基本概念AOP 是 Aspect-orien
Spring-kafka 配置是以 spring.kafka 为前缀的配置信息进行注入的,按照这种形式定义的 kafka 配置信息,在项目启动时会自动读取并配置到 kafka 实例中。当然也可以在配置文件中自定义配置的名称,对应的则需要手动封装配置信息的映射表,并创建相应的 Factory 和 KafkaTemplate 容器。添加启动 kafka 需要的基本配置:# kafka producer