分布式概念基础 一、CAP理论(C)数据一致性:写操作成功,所有读都能成功;写操作失败,所有读都不能成功; (A)服务可用:所有读写请求在一定时间内得到响应,可终止,不会一直等待; (P)分区容错性:网络分区的情况下,被分隔的节点依然能正常对外服务; 单体应用下,CA原则是完全没问题的(不存在P);但是在分布式下架构下只能保证CP或者AP。 二、Base理论CAP理论的一种折衷,由于在分布式架构下CAP只能二选其 2022-03-03 分布式架构设计 分布式
Apache Kafka盘点 一、基本术语消息(Message)Kafka中的数据单元称为消息,也被称为记录,可以把它看作数据库表中的某一行记录; 批次(Batch)为了提高效率,消息会分批次写入Kafka,批次就代指的一组消息; 主题(Topic)消息的种类为主题,可以说一个主题代表了一类消息。相当于对消息进行分类,主题就像数据库中的表; 分区(Partition)主题可以被分为若干个分区,同一个主题中的分区可以不在一个机器 2022-03-02 消息中间件 Kafka
Spring知识汇总 1. 为什么使用Spring IoC技术,容器帮忙管理依赖对象,不需要自己创建和管理依赖对象,更轻松实现程序解耦; 事务支持,使得操作事务更加方便; 提供面向切面的编程,可以更方便地处理某一类的问题; 更方便集成其他框架,比如Mybatis和Hibernate; 2. 什么是AOP面向切面编程,通过预编译的方式和运行期动态代理实现程序功能的统一维护的技术;简单来说就是统一处理“切面”类问题的编程 2022-02-24 Spring Spring框架
Java多线程面试汇总 三、多线程1. 并行和并发的区别 并行:多个处理器或多核处理器同时处理多个任务; 并发:多个任务在一个CPU按细分的时间片轮流(交替)执行,从逻辑上来看是同时执行; 2. 线程与进程的区别一个程序至少有一个进程,一个进程至少有一个线程,一个进程下可以有多个线程来增加执行程序的速度; 3. 守护线程运行在后台的一种特殊进程,独立于控制终端并且周期性执行某种任务或等待处理某些发生的事情。例如java 2022-02-24 Java Java八股文
Java面试汇总 一、Java基础1. JDK和JRE有什么区别? JDK:Java Development Kit的简称,提供Java开发环境和运行环境; JRE:Java Runtime Environment的简称,Java运行环境; 简单来说:JDK包含JRE,想要开发Java程序需要安装JDK;想要运行Java运行只需要JRE; 2. == 和 equals的区别2.1 基本区别 基本类型:比较值是否相 2022-02-24 Java Java八股文
JVM知识汇总 1. JVM内存区域1.1. JVM内存组成及其作用如下图所示: JVM总共包含两个子系统和两个组件。分别是: 两个子系统:类加载器和执行引擎; 两个子组件:运行时数据区和本地接口; 它们各自有不同的作用: 类加载器:根据给定的全限定类型装在class文件到运行数据域中的方法域中; 执行引擎:执行classes文件中的指令; 本地接口:与本地方法库交互,是其它编程语言交互的接口; 运行时数 2022-02-21 Java JVM
Redis盘点梳理 Redis数据类型基础数据类型 字符串 String 列表 List 哈希 Hash 集合 Set 有序集合 Zset Bitmaps HyperLogLogs GEO 底层数据类型 简单动态数组 SDS 链表 字典 跳跃链表 整数集合 压缩列表 对象 ziplist压缩列表可以作为Zset、Hash、List三种数据类型的底层实现,其中Zset使用到了跳跃链表; SDS (Simple D 2022-02-21 消息中间件 Redis
谈谈MySQL索引 什么是索引存储引擎中一种用于快速找到记录的数据结构。索引对于良好性能非常关键,尤其是当表中的数据量越来越大的时候,索引对性能的影响愈发重要。 索引类型B-Tree索引毋庸置疑,B-Tree索引使用的是B-Tree数据结构来存储数据。索引类型在创建表的过程中是可以指定的。 B-Tree意味着所有的值都是按照顺序存储的,并且每一个叶子页到根的距离相同。 所以B-Tree索引能加快访问数据的速度,因为存 2022-02-21 数据库 MySQL
Spring Cloud分布式配置中心 分布式配置中心我们回顾一下到目前为止已经接触过得微服务: 服务发现注册中心 服务消费者 服务提供者 配置中心 配置客户端 所以可以发现:除了注册中心以外,其他的服务都可以抽象成一个微服务,因此也可以借鉴先前的经验做成高可用分布式架构。要做到上述配置,我们只需要遵守一个规则:将所有的Config Server都指向同一个Git仓库,这样所有配置的内容通过统一的共享文件系统来维护。 等到客户端指 2022-02-20 微服务架构学习 Spring Cloud
Spring Cloud配置中心 什么是Spring Cloud Config是Spring Cloud团队创建的一个用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。 服务端:也称为分布式配置中心,是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口 客户端:微服务架构中各个微服务应用或者基础设施,通过指定的配置中心来管理应用资源与业务相关的 2022-02-20 微服务架构学习 Spring Cloud