随笔分类 -  架构

架构知识汇总
摘要:通过阅读 Redis 源码,可以学习和掌握到的计算机系统设计思想 根据 Redis 不同的功能特性,分线条学习每个功能特性上涉及的关键技术和设计思想 对于Redis的代码架构,需要掌握以下两类内容 代码的目录结构和作用划分,目的是理解 Redis 代码的整体架构,以及所包含的代码功能类别; 系统功能 阅读全文
posted @ 2022-07-08 13:52 沙漏哟 阅读(83) 评论(0) 推荐(0)
摘要:1 简介 SOFAStack™(Scalable Open Financial Architecture Stack)是一套用于快速构建金融级云原生架构的中间件,也是在金融场景里锤炼出来的最佳实践。 2 主要项目 SOFABoot SOFABoot 基于 Spring Boot 的研发框架,在其基础 阅读全文
posted @ 2022-07-08 10:20 沙漏哟 阅读(261) 评论(0) 推荐(0)
摘要:1 原文链接 https://labuladong.gitbook.io/algo-en/v/master https://labuladong.gitee.io/algo/ 2 关键词学习法 数组(顺序存储)、链表(链式存储) 队列、栈、图(邻接表、邻接矩阵)、散列表、树(堆、二叉树、多叉树) 遍 阅读全文
posted @ 2022-05-13 09:11 沙漏哟 阅读(271) 评论(0) 推荐(0)
摘要:1 他为什么是高管 职场“潜”规则:心法和技法 年轻的工程师如何月入伍万XD 如何成为一位牛逼的高手 把整个过程拆解为一个一个场景, 每个场景反复演练。 如果你立志成为一位炫酷高手,你应该怎么做呢? 下面总结一个套路: 第一步,找到导师:什么是好的导师?针对你的行为作出及时反馈,告诉你这个做对了,那 阅读全文
posted @ 2021-10-23 15:29 沙漏哟 阅读(198) 评论(0) 推荐(0)
摘要:1 一些有意思的图 2 技术能力树 P5 -> P6 -> P7 -> P8 3 阿里巴巴面试流程 3.1 流程、题目、细节 1. 流程 1)录入招聘系统 2)HR筛选简历 3)技术面试官简历评估 4)电话面试 (1)不方便或没准备好,可以约个时间点; (2)候选人基础知识面的积累; (3)技术深度 阅读全文
posted @ 2021-07-09 11:28 沙漏哟 阅读(98) 评论(0) 推荐(0)
摘要:1 5个MySQL使用问题 1)关于count(*) 知识点:MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。 潜台词是,对于select count(*) from t; 如果数据量大,MyISAM会瞬间返回,而InnoDB则会一行行扫描。 实践:数据量大的表,InnoDB不要轻易 阅读全文
posted @ 2021-07-01 20:54 沙漏哟 阅读(74) 评论(0) 推荐(0)
摘要:1 集合框架总览 整个集合框架分为两个门派(类型):Collection和Map,前者是一个容器,存储一系列对象;后者是键值对<key, value>,存储一系列键值对。 在集合框架体系下,衍生出四种具体的集合类型:Map、Set、List、Queue。 2 Map集合体系详解 Map的设计理念:定 阅读全文
posted @ 2021-06-07 09:22 沙漏哟 阅读(101) 评论(0) 推荐(0)
摘要:1 问题现象 应用prod-xxx-k8s,在内存足够的情况下,仍然会产生偶发FullGC的问题。 -Xmx8192m -Dhsf.server.max.poolsize=2500 -Xms8192m -XX:MaxDirectMemorySize=1026m -XX:+UseGCLogFileRo 阅读全文
posted @ 2021-05-27 18:09 沙漏哟 阅读(865) 评论(1) 推荐(2)
摘要:1 计算机网络系列文章 2 计算机网络连环12问 2.1 谈一谈你对TCP/IP四层模型,OSI七层模型的理解? 为了增强通用性和兼容性,计算机网络都被设计成层次机构,每一层都遵守一定的规则。 因此有了OSI这样一个抽象的网络通信参考模型,按照这个标准使计算机网络系统可以互相连接。 物理层:通过网线 阅读全文
posted @ 2021-05-26 22:49 沙漏哟 阅读(106) 评论(0) 推荐(1)
摘要:1 为什么要有操作系统 现代计算机系统是基于冯·诺依曼架构设计的,主要由存储器、控制器、运算器、输入输出设备组成。 一般而言,现代计算机系统是一个复杂的系统。 其一:如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了(严重影响了程序员的开发效率:全部掌握这些细节可能需要一万年... 阅读全文
posted @ 2021-05-26 22:47 沙漏哟 阅读(216) 评论(0) 推荐(0)
摘要:1 总起 文章:《究竟什么时候使用MQ》 内容: 1)什么典型场景不应该使用MQ 上游实时关注执行结果 2)什么典型场景应该使用MQ 1)数据驱动的任务依赖 2)上游不关心下游执行结果 3)异步返回执行时间长 2 消息可达性 文章:《MQ,如何做到消息必达》 内容: 1)MQ系统架构 (1)消息落地 阅读全文
posted @ 2021-05-26 21:16 沙漏哟 阅读(357) 评论(0) 推荐(0)
摘要:1 进程内缓存 除了常见的redis/memcache等进程外缓存服务,缓存还有一种常见的玩法,进程内缓存。 1)什么是进程内缓存? 答:将一些数据缓存在站点,或者服务的进程内,这就是进程内缓存。 进程内缓存的实现载体,最简单的,可以是一个带锁的Map。又或者,可以使用第三方库,例如leveldb。 阅读全文
posted @ 2021-05-13 23:22 沙漏哟 阅读(171) 评论(0) 推荐(0)
摘要:0. 系统性学习 《Java架构师的最佳实践》知识体系化之只搞底层(计算机组成原理、操作系统、计算机网络、编译原理) 《Java架构师的最佳实践》知识体系化之只搞算法 1. 分布式中间件最佳实践 《Java架构师的最佳实践》Redis在社交产品中的最佳实践 《Java架构师的最佳实践》mysql b 阅读全文
posted @ 2021-04-14 09:27 沙漏哟 阅读(155) 评论(0) 推荐(0)
摘要:1. MySQL文章目录 《Java架构师的第一性原理》41存储之MySQL第1篇MySQL简介 《Java架构师的第一性原理》41存储之MySQL第2篇MySQL逻辑架构 《Java架构师的第一性原理》41存储之MySQL第3篇存储引擎MyISAM、InnoDB 《Java架构师的第一性原理》41 阅读全文
posted @ 2021-04-12 22:55 沙漏哟 阅读(88) 评论(0) 推荐(0)
摘要:1 MySQL死锁分析 1.1 InnoDB调试死锁的方法 1)【配置的确认与修改】 要测试InnoDB的锁互斥,以及死锁,有几个配置务必要提前确认: 区间锁是否关闭 事务自动提交(auto commit)是否关闭 事务的隔离级别(isolation level) 间隙锁是否关闭 区间锁(间隙锁,临 阅读全文
posted @ 2021-04-12 22:48 沙漏哟 阅读(83) 评论(0) 推荐(0)
摘要:所有概念均以“用户中心”举例。 1 单库架构 单库架构,是业务初期最常见的数据库架构。 user-service:用户中心服务,对调用者提供友好的RPC接口 user-db:一个库进行数据存储 2 分组架构 数据库分组架构,即最常见的一主多从,主从同步,读写分离数据库架构: user-service 阅读全文
posted @ 2021-04-12 22:46 沙漏哟 阅读(79) 评论(0) 推荐(0)
摘要:1 主从复制介绍 主从复制的概念很简单,就是从原来的数据库复制一个完全一样的数据库,原来的数据库称作主数据库,复制的数据库称为从数据库。从数据库会与主数据库进行数据同步,保持二者的数据一致性。 主从复制的原理实际上就是通过bin log日志实现的。bin log日志中保存了数据库中所有SQL语句,通 阅读全文
posted @ 2021-04-12 22:45 沙漏哟 阅读(76) 评论(0) 推荐(0)
摘要:1 索引的数据结构B+树 《Java架构师的第一性原理》54算法之数据库索引数据结构B+树的前世今生 2 MyISAM与InnoDB的索引差异 1分钟了解MyISAM与InnoDB的索引差异 2.1 MyISAM的索引 MyISAM的索引与行记录是分开存储的,叫做非聚集索引(UnClustered 阅读全文
posted @ 2021-04-12 22:43 沙漏哟 阅读(172) 评论(0) 推荐(0)
摘要:1 一条查询SQL如何执行 本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构。 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_info where id = 1; 返回结果为: + + + + + + + 阅读全文
posted @ 2021-04-12 22:42 沙漏哟 阅读(83) 评论(0) 推荐(0)
摘要:1 事务 事务是MySQL区别于NoSQL的重要特征,是保证关系型数据库数据一致性的关键技术。事务可看作是对数据库操作的基本执行单元,可能包含一个或者多个SQL语句。这些语句在执行时,要么都执行,要么都不执行。事务的执行主要包括两个操作,提交和回滚。 提交:commit,将事务执行结果写入数据库。 阅读全文
posted @ 2021-04-12 22:39 沙漏哟 阅读(92) 评论(0) 推荐(0)