前言
昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法?
这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了。
她又不紧不慢的问,索引为什么就能提高查询性能。
这还用问,索引就像一本书的目录,用目录查当然很快。
她失望地摇了摇头,你说的只是一个类比,可为什么通过目录就能提高查询速度呢。
唉,对啊,通过书目可以快速查询,这只是一个现象,真正原因到底是什么呢。
那女孩看着诧异且表情僵硬的我,满意而又意味深长的笑笑:原来你这个男程序员也不会,看来我还得靠自己研究了。
哎,熬夜又要憔悴了我这该死的美貌。
来自同行的羞辱,是可忍孰不可忍?!
于是,我踏上了数据库索引学习的不归路,原来数据库索引使用了一种叫 B+ 树的古老数据结构,当然也有 Hash 等类型,暂且不说,可 B+ 树 这是个什么妖魔鬼怪呢?
下面就来浅尝辄止的扒一扒树的前世今生。
微服务架构
第1章 微服务概述
- 什么是微服务
- 常见的微服务组件
- 常用的微服务框架
- 微服务架构设计模式
- 如何实施微服务
从微服务的起源和现实业务的角度探讨微服务
第2章 微服务设计原则
- 设计原则之分层架构
- 设计原则之统一通信协议
- 设计原则之单一职责
- 设计原则之服务拆分
- 设计原则之前后端分离
- 设计原则之版本控制
- 设计原则之围绕业务构建
- 设计原则之并发流量控制
- 设计原则之CAP
- 设计原则之EDA事件驱动
- 设计原则之CQRS
- 设计原则之基础设施自动
- 设计原则之 数据一致性
- 设计原则之设计模式
- 设计原则之DevOps
- 设计原则之无状态服务
针对微服务的设计理念进行整理,包括服务如何拆分、前后端分离、CAP理论和CQRS等,是一个高层次的指导原则。
第3章 微服务之Spring Boot
- 一切从简单开始
- 快速集成第三方的Starter
- 降低开发复杂度之面向切面
- 并不复 杂的持久化.
- Web开发
- 懒人的接口文档管理.
- 优化的调度
- 健康是永恒的主题
- 强强