发布了文章2023-01-13
靠近年底的月份,内心深处总会不断提醒你,该写年终总结了。无论是工作上,生活上,亦或是互联网、APP上,无数的年终报告提醒我,一年了也该总结一下自己了,不然这之前的1年是不是白过了呢?
提出了问题2022-11-24
发布了文章2022-11-03
你好,我是程序员Alan, 很高兴遇见你。最近看 RocketMQ 源码时,发现它是使用自定义注解的方式做权限校验,蛮有意思的,于是简单上手试了一下。下面是部分代码。自定义注解 {代码...} 编写切面 {代码...} 测试 {代码...} 测试结果
回答了问题2022-11-03
用自增整型做主键,一律使用 BIGINT,而不是 INT。不要为了节省 4 个字节使用 INT,当达到上限时,再进行表结构的变更,将是巨大的负担与痛苦。我所在的公司就遇到过线上环境出现INT类型达到上线导致服务异常的问题,当时运维同学的做法是修改数据库表结构(字段类型...
回答了问题2022-11-03
需要看你的查询条件来判断。背后的逻辑是索引最左匹配原则。索引的底层是一颗B+树,构建一颗B+树只能根据一个值来构建。此处的索引当然也包括联合索引,当索引类型为联合索引时,数据库会依据联合索引最左的字段来构建B+树,也叫最左匹配原则。
回答了问题2022-11-03
使用自增主键时,它是一个追加操作在 InnoDB 中,表都是根据主键顺序以索引的形式存放的,这种存储方式的表称为索引组织表。自增主键是指自增列上定义的主键,在建表语句中一般是这么定义的: NOT NULL PRIMARY KEY AUTO_INCREMENT。插入新记录的时候可以不指定 ID ...
回答了问题2022-11-03
在实际中更多的还是看业务目标再选择相应的中间件。服务间的调用有两种常见方式:RPC与HTTP,RPC(Remote Produce Call ,远程过程调用),速度快,效率高。热门的Dubbo,、gRPC 等,都是RPC的典型代表。HTTP协议( HyperText Transfer Protocol,超文本传输协议 ),...
回答了问题2022-11-03
现象描述使用RedisTemplate操作redis数据,在相关的redis可视化工具中查看数据,如下图!虽然可视化工具显示如此,但不影响读写解决办法因为不影响读写,所以我选择忽视。
发布了文章2022-11-02
这是因为掌握了整体架构,可以让我们迅速了解各个方面的特性,并且可以方便我们后续快速定位功能模块对应的代码文件。话不多说,我们开始看RocketMQ目录结构。
发布了文章2022-11-01
写这段代码是因为我下意识地认为只要设置一个全局的响应头,将 Access-Control-Allow-Methods 设置为GET,POST 就可以轻松实现测试提出的,响应头只能为GET, POST的需求.
发布了文章2022-11-01
在《需求分析—高并发常见微服务实战(二)》分析业务需求时,其中有个简单的功能点:订票服务可以请求不同的航空公司查询机票信息,订购指定航空公司航班机票。这里就涉及到两个或多个服务间的调用问题。
发布了文章2022-11-01
你好,我是程序员Alan.在正式引入微服务的各个组件之前,先通过一个面试中常见的问答来了解服务治理的全貌。面试官:都在说微服务需要治理,那你说说什么是服务治理?为什么需要治理?可以简单介绍一下吗? Alan: 服务治理,也就是解决多个服务节点,组成集群的时候...
发布了文章2022-11-01
在《 需求分析—高并发场景微服务实战(二)》一文的最后,我提了一个问题 “你会用什么方式获取和聚合机票信息?”,今天我会详细地讲解解决这类问题的几种常用方法。
发布了文章2022-11-01
我在上一篇文章《 表结构设计—高并发场景微服务实战(五)》中,详细的写了如何选择合适的类型创建一张表,但表结构设计只是设计数据库最初的环节之一,我们还缺少数据库设计中最为重要的一个环节——索引设计,只有正确设计索引,业务才能达到上线的初步标准。
发布了文章2022-11-01
你好,我是程序员Alan。这篇文章我会详细讲一下设计表结构时我会重点关注的地方,助你少走弯路。数字类型这里需要重点关注一下范围,不需要记得非常清楚,但是要有一个大概的印象,对边界问题要敏感。另外不推荐使用数据库的浮点类型,否则在计算时,由于精度类型问...
发布了文章2022-10-26
你好,我是程序员Alan,很高兴遇见你。在《系统架构设计— 高并发场景微服务实战(三)》一文中,我提了一个问题“系统架构设计为什么要分层?”,这篇文章我会详细说一下我的见解,写的比较浅薄,见笑了。什么是分层架构软件架构分层在软件工程中是一种常见的设计方式,...
提出了问题2022-10-26
发布了文章2022-10-26
你好,我是程序员Alan,很高兴遇见你。在《需求分析— 高并发场景微服务实战(二)》一文中,我详细梳理了业务需求。相信你对订票系统的业务需求情况已经十分清楚了。下面我开始系统设计工作,包括功能模块设计、存储设计、缓存设计、高并发系统架构设计等,为后面的...
发布了文章2022-10-26
Hello,你好啊,很高兴遇见你。在《 高并发场景微服务实战(一)》一文中,我提到决定以一个虚拟的高并发场景的微服务系统为主线,系统性从 0 到 1 的创造一个高并发场景的微服务系统。这个高并发业务场景是——订票系统机票秒杀。下面我会详细说一下自己为什么选择这...
发布了文章2022-10-23
高并发场景微服务实战(一)你好,我是程序员Alan,很高兴遇见你.说到高并发和微服务,你是不是和我一样有很多的困惑?知道微服务开发热门,但一直是外行看热闹,不知道里面具体有哪些内容。知道高并发系统开发知识,是获取大厂Offer的利器,可是工作中遇不到高并发的...