九八年生于晚秋


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

数据库读写分离和主从同步

发表于 2019-09-19 | 分类于 数据库
读写分离解决了什么问题带来了什么问题其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。读写分离是用来解决数据库的读性能瓶颈的。如果使用“读写分离”,就需要注意这些问题: 数据库连接池要进行区分,哪些是读连接池,哪个是写连接池,研发的难度会增加; 为了保证高可用,读连接池要能够实现故障自动转移; 主从的一致性问 ...
阅读全文 »

高并发项目总结

发表于 2019-09-16 | 分类于 SpringBoot项目
如何解决超卖?少卖?利用 Redis 的原子自增操作, 121.mysql锁机制,悲观锁InnoDB行级锁方案,思路是在数据库中设计一个状态标识位,用户在对数据进行修改前,将状态标识位标识为正在编辑的状态,这样其他用户要编辑此条记录时系统将发现有其他用户正在编辑,则拒绝其编辑的请求,类似于你在操作系统中某文件正在执行,然后你要修改该文件时,系统会提醒你该文件不可编辑或删除。不建议使用,对数据库压力 ...
阅读全文 »

简单DP

发表于 2019-09-14
最长上升子序列【题目描述】 给定N个数,求这N个数的最长上升子序列的长度。 【样例输入】 7 2 5 3 4 1 7 6 【样例输出】 4 第一种解法:时间复杂度O(n^2), 状态设计:DP[ i ]代表以A[ i ]结尾的LIS的长度 状态转移:DP[ i ]=max{ DP[ j ]+1 ,DP[ i ] }(1<=j< i,A[j]< A[i])。 基本上思想,每次碰到一 ...
阅读全文 »

操作系统的基础概念

发表于 2019-09-08 | 分类于 操作系统
操作系统的特征操作系统的基本特征包括并发、共享、虚拟和异步。 并发并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行着的程序,因此它具有处理和调度多个程序同时执行的能力。在操作系统 中,引入进程的目的是使程序能并发执行。 注意同一时间间隔(并发)和同一时刻(并行)的区别。在多道程序环境下,一段时间内,宏观上有多道程序在同时执行,而在每一时刻,单处理机环境下 ...
阅读全文 »

小米二面

发表于 2019-09-04 | 分类于 面经
惯例自我介绍 说一下秒杀系统里面怎么解决超卖的问题的 那么在 Mysql 里面用什么方法解决 说一下Innodb 和 Myisam 两个引擎的区别 数据库的事务特点以及几种隔离级别,解释一下什么是幻读和脏读 说了一下行锁和表锁,共享锁和排它锁 Spring 的 IOC 介绍,提到了反射 说一下 Java 的反射 问了一个 Http 1.0 和 Http 1.1 区别,我不知道说了一下 Http ...
阅读全文 »

限流

发表于 2019-09-04 | 分类于 SpringBoot项目
限流的定义和使用场景在开发高并发系统时,有三把利器来保护系统:缓存、降级和限流。一般来说系统的吞吐量是可以被测算的,为了保证系统的稳定运行,一旦达到的需要限制的阈值,就需要限制流量并采取一些措施以完成限制流量的目的。比如:延迟处理,拒绝处理,或者部分拒绝处理等等。 缓存用于大量读取静态内容;降级直接下线部分功能并返回默认值。如果缓存和降级都不能适用,就采用限流方法。限流本质上是减小访问量,而服务处 ...
阅读全文 »

消息队列

发表于 2019-09-04 | 分类于 SpringBoot项目
什么是消息队列消息队列(MQ)可以简单理解为:把要传输的数据放在队列中,我们不用担心谁取到了它做了什么事情,提供了一个异步的通信协议。看张图理解一下 一般我们把放到队列里面的称为 Produce(生产者)负责产生和发送消息到 Broker。 Broker:消息处理中心。负责消息存储、确认、重试等,一般其中会包含多个 queue。 从队列里面取数据的称为 Consumer(消费者)负责从 Bro ...
阅读全文 »

负载均衡

发表于 2019-09-04 | 分类于 SpringBoot项目
什么是负载均衡它是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载平衡服务通常是由专用软件和硬件来完成。 主要作用是将大量作业合理地分摊到多个操作单元上进行执行,用于解决互联网架构中的高并发和高可用 ...
阅读全文 »

小米一面

发表于 2019-09-03 | 分类于 面经
惯例自我介绍,五十分钟 说一下 HashMap 的结构,为什么非线程安全,为什么容量是 2 的次幂 那 CourrentHashMap 为什么线程安全 说一下 Volatile 关键字,聊到底层原理 引申出 Synchronized 说一下 JVM 的内存分配,详细的说一下每一块是存啥,堆分配 说一下对应的 GC 算法 说一下 G1 垃圾回收器 线程池种类,拒绝策略,任务执行流程 说一下死锁 说 ...
阅读全文 »

SpringBoot开发二十五-发送系统通知和显示系统通知

发表于 2019-09-02 | 分类于 SpringBoot项目
需求分析利用 Kafka 做消息队列实现发送系统通知,基于事件对代码进行封装 触发事件: 评论后,发布通知 点赞后,发布通知 关注后,发布通知 处理事件: 封装事件对象,对于事件发生的时候所需的数据进行封装,包含这条消息所含的所有的数据, 开发事件的生产者 开发事件的消费者 代码实现首先我们封装一个事件对象 Event,包含事件触发的时候相关的一切的信息 1234567891011121 ...
阅读全文 »
12…10

Rui Zhou

100 日志
10 分类
30 标签
GitHub
0%
© 2019 Rui Zhou
本站访客数:
由 Hexo 强力驱动