12 2022 档案

摘要:# MongoDB复制集 ## 一、复制集架构 在生产环境中,不建议使用单机版的MongoDB服务器。原因如下: - 单机版的MongoDB无法保证可靠性,一旦进程发生故障或是服务器宕机,业务将直接不可用。 - 一旦服务器上的磁盘损坏,数据会直接丢失,而此时并没有任何副本可用。 Mongodb复制集 阅读全文
posted @ 2022-12-30 18:13 浮沉丶随心 阅读(38) 评论(0) 推荐(0) 编辑
摘要:# MongoDB聚合操作和索引详解 ## 一、聚合操作 **聚合操作处理数据记录并返回计算结果**。聚合操作组值来自多个文档,可以对分组数据执行各种操作以返回单个结果。聚合操作包含三类:**单一作用聚合、聚合管道、MapReduce。** - 单一作用聚合:提供了对常见聚合过程的简单访问,操作都从 阅读全文
posted @ 2022-12-30 17:54 浮沉丶随心 阅读(215) 评论(0) 推荐(0) 编辑
摘要:# MongoDB快速实战与基本原理 MongoDB版本: v4.4.x ## 一、MongoDB介绍 ### 1.1 什么是MongoDB MongoDB是一个**文档数据库(以 JSON 为数据模型)**,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。 > 文档来自于“J 阅读全文
posted @ 2022-12-22 11:40 浮沉丶随心 阅读(74) 评论(0) 推荐(0) 编辑
摘要:# Spring扩展点在微服务组件中的应用 前提: - 掌握Spring主线流程源码 - 掌握Spring Boot主线流程源码 - 熟悉Spring Cloud&Spring Cloud Alibaba中间件核心功能源码 ## 一、Spring扩展点梳理 - **BeanFactoryPostPr 阅读全文
posted @ 2022-12-21 17:05 浮沉丶随心 阅读(68) 评论(0) 推荐(0) 编辑
摘要:# 微服务安全OAuth2&SSO&JWT ## 一、OAuth2.0介绍 OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们 阅读全文
posted @ 2022-12-21 16:25 浮沉丶随心 阅读(128) 评论(0) 推荐(0) 编辑
摘要:# 链路追踪组件Skywalking skywalking版本: v9.1.0 ## 前言 对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如: - 如何串联整个调用链路,快速定位问题? - 如何理清各个微服务之间的依赖关系? - 如何进行各个微服务接口的性能分折? 阅读全文
posted @ 2022-12-21 11:52 浮沉丶随心 阅读(101) 评论(0) 推荐(0) 编辑
摘要:# API网关Gateway ## 一、什么是API网关 API网关是随着微服务概念兴起的一种架构模式,它是运行于外部请求与内部服务之间的一个流量入口,用于实现对外部请求的协议转换、鉴权、流控、参数校验、监控等通用功能。 ### 1.1 背景 在微服务架构中,通常一个系统会被拆分为多个微服务,面对这 阅读全文
posted @ 2022-12-21 10:52 浮沉丶随心 阅读(100) 评论(0) 推荐(0) 编辑
摘要:# 分布式事务组件Seata seata版本: v1.5.1 ## 一、分布式事务简介 分布式事务:https://www.processon.com/view/link/61cd52fb0e3e7441570801ab ### 1.1 本地事务 ​ 大多数场景下,我们的应用都只需要操作单一的数据库 阅读全文
posted @ 2022-12-20 19:06 浮沉丶随心 阅读(53) 评论(0) 推荐(0) 编辑
摘要:# Sentinel整合RestTemplate&openFeign&Dubbo ## 一、RestTemplate整合Sentinel Spring Cloud Alibaba Sentinel 支持对 RestTemplate 的服务调用使用 Sentinel 进行保护,在构造 RestTemp 阅读全文
posted @ 2022-12-20 18:23 浮沉丶随心 阅读(110) 评论(0) 推荐(0) 编辑
摘要:# Sentinel规则持久化 ## 一、Sentinel规则推送模式 | 推送模式 | 说明 | 优点 | 缺点 | | | | | | | 原始模式 | API 将规则推送至客户端并直接更新到内存中,扩展写数据源(WritableDataSource) | 简单,无任何依赖 | 不保证一致性;规 阅读全文
posted @ 2022-12-20 17:24 浮沉丶随心 阅读(106) 评论(0) 推荐(0) 编辑
摘要:# 微服务流量治理组件 sentinel版本: v1.8.4 ## 一、前言 思考: 1、当服务访问量达到一定程度,流量扛不住的时候,该如何处理? 2、服务之间相互依赖,当服务A出现响应时间过长,影响到服务B的响应,进而产生连锁反应,直至影响整个依赖链上的所有服务,该如何处理? 这是分布式、微服务开 阅读全文
posted @ 2022-12-20 16:29 浮沉丶随心 阅读(100) 评论(0) 推荐(0) 编辑
摘要:# Nacos1.4.X源码 **看源码方法:** 1、**先使用:**先看官方文档快速掌握框架的基本使用 2、**抓主线:**找一个demo入手,顺藤摸瓜快速静态看一遍框架的主线源码,画出源码主流程图,切勿一开始就陷入源码的细枝末节,否则会把自己绕晕,凭经验猜 3、**画图做笔记:**总结框架的一 阅读全文
posted @ 2022-12-20 11:17 浮沉丶随心 阅读(128) 评论(0) 推荐(0) 编辑
摘要:# 微服务调用组件Feign&Dubbo ## 一、RPC概述 思考: 微服务之间如何方便优雅的实现服务间的远程调用? RPC 全称是 Remote Procedure Call ,即远程过程调用,其对应的是我们的本地调用。RPC 的目的是:让我们调用远程方法像调用本地方法一样。 ```java / 阅读全文
posted @ 2022-12-20 10:40 浮沉丶随心 阅读(101) 评论(0) 推荐(0) 编辑
摘要:# Ribbon&LoadBalancer实战 ## 一、负载均衡介绍 负载均衡(Load Balance),其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。 思考: 如果有多个pr 阅读全文
posted @ 2022-12-19 23:56 浮沉丶随心 阅读(31) 评论(0) 推荐(0) 编辑
摘要:# Nacos注册中心 ## 一、注册中心介绍 ### 1.1 注册中心的作用 思考:不同的微服务如何维护复杂的调用关系? ```java //服务之间通过RestTemplate调用,url写死 String url = "http://localhost:8020/order/findOrder 阅读全文
posted @ 2022-12-19 19:24 浮沉丶随心 阅读(55) 评论(0) 推荐(0) 编辑
摘要:# 微服务架构 ## 一、单体架构vs微服务架构 ### 1.1 单机架构 #### 1.1.1 什么是单体架构 一个归档包(例如war格式)包含了应用所有功能的应用程序,我们通常称之为单体应用。架构单体应用的方法论,我们称之为单体应用架构。(就是一个war包打天下) #### 1.1.2 单体架构 阅读全文
posted @ 2022-12-19 18:45 浮沉丶随心 阅读(31) 评论(0) 推荐(0) 编辑
摘要:# SpringBoot启动过程 ## 一、构造SpringApplication对象 ### 1.1 推测web应用类型 1. 如果项目依赖中存在org.springframework.web.reactive.**DispatcherHandler**,并且不存在org.springframew 阅读全文
posted @ 2022-12-19 17:28 浮沉丶随心 阅读(64) 评论(0) 推荐(0) 编辑
摘要:# SpringBoot自动配置源码解析 内容 1. @EnableAutoConfiguration源码解析 2. 各种条件注解源码解析 3. SpringBoot整合Tomcat底层源码解析 4. SpringBoot之AOP自动配置源码解析 5. Starter机制底层原理解析 SpringB 阅读全文
posted @ 2022-12-19 16:51 浮沉丶随心 阅读(49) 评论(0) 推荐(0) 编辑
摘要:# 模拟SpringBoot核心流程 内容: 1、模拟SpringBoot启动过程 2、模拟SpringBoot条件注解功能 3、模拟SpringBoot自动配置功能 4、SpringBoot整合Tomcat源码分析 完整的代码地址:https://gitee.com/archguide/zhouy 阅读全文
posted @ 2022-12-19 15:39 浮沉丶随心 阅读(29) 评论(0) 推荐(0) 编辑
摘要:# Redis缓存设计和性能优化 ## 一、多级缓存架构 ​ ![image-20221219113512827](https://typorause-oss.oss-cn-shenzhen.aliyuncs.com/interview/image-20221219113512827.png) ## 阅读全文
posted @ 2022-12-19 14:50 浮沉丶随心 阅读(122) 评论(0) 推荐(0) 编辑
摘要:# 生产级高并发分布式锁 ## 一、Redisson分布式锁原理 ![Redisson分布式锁原理](https://typorause-oss.oss-cn-shenzhen.aliyuncs.com/interview/Redisson%E5%88%86%E5%B8%83%E5%BC%8F%E9 阅读全文
posted @ 2022-12-19 11:32 浮沉丶随心 阅读(6) 评论(0) 推荐(0) 编辑
摘要:# Redis高可用集群与水平扩展 ## 一、Redis集群方案比较 ### 1.1 哨兵模式 ​ ![image-20221219093057872](https://typorause-oss.oss-cn-shenzhen.aliyuncs.com/interview/image-202212 阅读全文
posted @ 2022-12-19 10:39 浮沉丶随心 阅读(57) 评论(0) 推荐(0) 编辑
摘要:Redis持久化、主从与哨兵架构 一、Redis持久化 1.1 RDB快照(snapshot) 在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。 你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次 阅读全文
posted @ 2022-12-16 17:18 浮沉丶随心 编辑
摘要:java客户端相关 1.0 StringRedisTemplate与RedisTemplate spring 封装了 RedisTemplate 对象来进行对redis的各种操作,它支持所有的 redis 原生的 api。在RedisTemplate中提供了几个常用的接口方法的使用,分别是: pri 阅读全文
posted @ 2022-12-16 17:17 浮沉丶随心 编辑
摘要:# Redis核心数据结构与高性能原理 [Redis命令参考手册](https://typorause-oss.oss-cn-shenzhen.aliyuncs.com/interview/01-Redis命令参考手册完整版.pdf) ## 一、安装和使用 ### 1.1 redis安装 ``` 下 阅读全文
posted @ 2022-12-16 11:56 浮沉丶随心 阅读(6) 评论(0) 推荐(0) 编辑
摘要:# MVCC与BufferPool缓存机制 ## 一、MVCC多版本并发控制 Mysql在可重复读隔离级别下如何保证事务较高的隔离性,我们上节课给大家演示过,同样的sql查询语句在一个事务里多次执行查询结果相同,就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。 这个隔离性就是靠MVC 阅读全文
posted @ 2022-12-16 11:04 浮沉丶随心 编辑
摘要:# Mysql事务隔离级别与锁机制 我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了**事务隔离机制、锁机制、MVCC 阅读全文
posted @ 2022-12-16 10:36 浮沉丶随心 编辑
摘要:## 一、常见类型深入优化 ### 1.1 Order by与Group by优化 **Case1:** ![image-20221215183018435](https://typorause-oss.oss-cn-shenzhen.aliyuncs.com/interview/image-202 阅读全文
posted @ 2022-12-15 20:29 浮沉丶随心 编辑
摘要:# SQL底层执行原理 ## 一、MySQL的内部组件结构 ​ ![image-20221215162939129](https://typorause-oss.oss-cn-shenzhen.aliyuncs.com/interview/image-20221215162939129.png) 大 阅读全文
posted @ 2022-12-15 17:00 浮沉丶随心 编辑
摘要:# Explain详解与索引最佳实践 ## 一、Explain工具介绍 **使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。** [官方文档](https://dev.mysql.com/doc/refma 阅读全文
posted @ 2022-12-15 16:26 浮沉丶随心 编辑
摘要:并发设计模式 一、终止线程的设计模式 思考:在一个线程 T1 中如何正确安全的终止线程 T2? 错误思路1:使用线程对象的 stop() 方法停止线程 stop 方法会真正杀死线程,如果这时线程锁住了共享资源,那么当它被杀死后就再也没有机会释放锁, 其它线程将永远无法获取锁 。 错误思路2:使用 S 阅读全文
posted @ 2022-12-15 14:40 浮沉丶随心 编辑
摘要:Disruptor&Future&CompletableFuture 一、Disruptor Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒60 阅读全文
posted @ 2022-12-15 11:19 浮沉丶随心 编辑
摘要:ForkJoin原理分析 一、任务类型 思考: 线程池的线程数设置多少合适? 我们调整线程池中的线程数量的最主要的目的是为了充分并合理地使用 CPU 和内存等资源,从而最大限度地提高程序的性能。在实际工作中,我们需要根据任务类型的不同选择对应的策略。 1.1 CPU密集型任务 CPU密集型任务也叫计 阅读全文
posted @ 2022-12-14 19:00 浮沉丶随心 编辑
摘要:阻塞队列BlockingQueue 一、阻塞队列介绍 Queue接口 public interface Queue<E> extends Collection<E> { //添加一个元素,添加成功返回true, 如果队列满了,就会抛出异常 boolean add(E e); //添加一个元素,添加成 阅读全文
posted @ 2022-12-14 16:52 浮沉丶随心 编辑
摘要:AQS之ReentrantReadWriteLock 一、 读写锁介绍 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁(读多写少)。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源(读读可以并发);但是如果一个线程想去写这些共享 阅读全文
posted @ 2022-12-14 15:42 浮沉丶随心 编辑

点击右上角即可分享
微信分享提示