摘要:
Redis哨兵模式部署 集群架构 这里我们搭建一个三节点形成的Sentinel集群,来监管Redis主从集群,架构如下: 这里在3台服务器中开启3个redis实例,信息如下: ip port 角色 172.18.1.10 6379/27001 master 172.18.1.11 6379/2700 阅读全文
摘要:
一.集合的分类 Conllection 定义在java.util包中: List:一种有序列表的集合,允许重复, ArrayList 是动态数组实现的非线程安全的集合 LinkedList 基于链表实现的非线程安全的集合 Set:一种保证没有重复元素的集合, HashSet 是无序的,实现了Set接 阅读全文
摘要:
分布式锁的定义: 保证同一时间只能有一个客户端对共享资源进行操作。 另外有几点要求也是必须要满足的: 1、不会发生死锁。 即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁 2、具有容错性。 只要大部分的Redis节点正常运行,客户端就可以加锁和解锁 3、解铃还须系铃人。 阅读全文
摘要:
1.分布式CAP, BASE知道吗? CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼,只能至多满足其中2个。 BASE 是 Basically Availa 阅读全文
摘要:
一. Java平台 你对 Java 最直观的印象是什么呢?是它宣传的 “Write once, run anywhere”,还是目前看已经有些过于形式主义的语法呢? Java本身是一种面向对象语言,有两个显著方面: 一是所谓的"书写一次,到处运行"(Write once, run anywhere) 阅读全文
摘要:
一. 如何设计一个多人同时在线,线上共同编辑操作的文档. 二. 延迟消息, 该如何设计? 方案1: RabbitMQ 消息降级, 死信队列 方案2: Redis监听过期时间 三. 组件有Redis mysql ,处理一个秒杀场景,至少2种处理方式 方案1: Redis 分布式锁 方案2: MySQL 阅读全文
摘要:
SpringCloud Gateway的底层基于Netty,主要组成有Predicates(谓词或者断言)、Route(路由)、Filter(过滤器) 思维导图 SpringCloud Gateway的组成: 路由(route):网关的基本构建块。它由ID,目标URI,谓词集合和过滤器集合定义 过滤 阅读全文
摘要:
1.1.1 程序计数器 内存空间小,线程私有。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成 如果线程正在执行一个 Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的 阅读全文
摘要:
RabbitMQ模型: | 名词 | 描述 | | | | | Queue | 用于存储消息,消费者直接绑定Queue进行消费消息 | | Exchange | 生产者将消息发送到Exchange,由交换器将消息通过匹配Exchange Type、Binding Key、Routing Key后路由 阅读全文
摘要:
一. 表结构设计规范 1. 基础规范 * 表必须有主键, 建议使用整形作为主键 * 禁止使用外接, 表之间的关联性和完整性通过应用层来控制 * 表在设计之初, 应该考虑到大致的数据级,若表记录低于1000W,尽量使用单表,不建议分表 * 建议将大字段, 访问频率低, 或者不需要作为筛选条件的字段拆分 阅读全文