摘要: 以下是亚马逊CTO(Werner Vogels)在演讲当中总结他20年的架构经验时提到的一些架构设计原则 原文视频地址,参见:AWS re:Invent 2023 - Keynote with Dr. Werner Vogels 法则一 将成本视为一种非功能性需求 所谓非功能性需求,就是用于判断系统 阅读全文
posted @ 2024-09-14 00:35 喝点江小白的随笔 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 1、CAP的定义 CAP的基本概念 一致性(Consistence)可用性(Availability)分区容错性(Partition Tolerance) CPA的论文: 第一版:https://robertgreiner.com/cap-theorem-explained/第二版:https:// 阅读全文
posted @ 2024-09-14 00:23 喝点江小白的随笔 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 1、离线计算 T+1离线分析的一种经典架构: 1、利用Flume从应用中收集用户行为日志; 2、将用户行为日志存储在HDFS当中; 3、利用Hive将SQL翻译为MapReduce可以处理的作业; 4、在作业中再批处理的结果写入到数据库当中存储; 5、再从数据库当中查询出我们的报表数据。 2、实时计 阅读全文
posted @ 2024-09-13 23:22 喝点江小白的随笔 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 一、Zookeeper是通常用来做什么 zookeeper的用途大概有如下这些: (1) 元数据管理 例如Kafka, Canal等可以将一些元数据放入zookeeper中进行管理和维护 (2) 名称服务 例如Dubbo可以利用这个特性来把zookeeper用作服务注册中心 (3) 分布式锁 这个应 阅读全文
posted @ 2024-09-13 22:04 喝点江小白的随笔 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 1、REST的定义 请参考论文:https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm 2、API文档编写语义: 本文档中的关键字: 必须-MUST, 不得-MUST NOT, 必需-REQUIRED, 应该-SHALL 阅读全文
posted @ 2024-09-13 18:42 喝点江小白的随笔 阅读(8) 评论(0) 推荐(0) 编辑
摘要: Reids 6.0之前版本的线程模型在讨论最新版本的Redis的线程模型之前呢,我们先来聊聊原来的Redis的线程模型:有人说,在6.0之前呢,Redis是单线程的,这么说其实也不太准确,为什么呢?因为Redis在4.0之后,就引入了多线程,比如说除了处理用户命令的主线程之外,还会起异步的线程去做一 阅读全文
posted @ 2024-09-13 16:45 喝点江小白的随笔 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 1、用netty来做网络通信编程框架而不是我们自己去基于JDK NIO来编程的好处有如下这些: (1)、netty支持常见的应用层协议(如:HTTP、FTP、DNS等),还可以支持自定义协议; (2)、netty可以自动解决网络编程当中的粘包与半包问题; (3)、netty还可以支持流量整形; (4 阅读全文
posted @ 2024-09-13 16:38 喝点江小白的随笔 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 一 字典数据与资源管理 1.1 数据字典 以前MySQL都是采用元数据文件、非事务性表结构或者是存储引擎特有的方式来存储字典数据,这些字典数据通常都是以数据对象为主,比如说最常见的表结构信息等。 在MySQL8.0中,这些字典数据都被移动到拥有InnoDB存储引擎的事务性表中进行存储了,这样做可以带 阅读全文
posted @ 2024-09-13 15:59 喝点江小白的随笔 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 1、什么是平台线程?平台线程是作为操作系统 (OS) 线程的薄包装器实现的。平台线程在其底层 OS 线程上运行 Java 代码,并且平台线程在其整个生命周期内捕获其 OS 线程。因此,可用的平台线程数量受限于 OS 线程的数量。平台线程通常具有较大的线程堆栈和由操作系统维护的其他资源。它们适合运行所 阅读全文
posted @ 2024-09-13 15:53 喝点江小白的随笔 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 1、为什么贫血模型在目前国内开发市场当中很流行? (1)、大多数的时候,业务相对简单,如基于数据库表,SQL语句,结合代码当中进行CRUD就可以完成; (2)、充血模型在开发的时候,需要更多的思考以及前瞻性,全局性的思考,而大多数开发人员缺乏这样的思考习惯; (3)、开发人员大多存在对旧有行为的思维 阅读全文
posted @ 2024-09-13 15:07 喝点江小白的随笔 阅读(4) 评论(0) 推荐(0) 编辑