RPC框架:
RPC(Remote Procedure Call Protocol):远程过程调用
-
Dubbo
分布式服务框架, 高性能和透明化的RPC远程服务调用方案, SOA服务治理方案
服务注册中心:
-
Multicast注册中心
-
Zookeeper注册中心
一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据
-
Redis注册中心
-
Simple注册中心
负载均衡:
-
nginx
-
lvs
-
(Dubbo)
NoSQl:
非关系型数据库,一般可以分为缓存数据库、时间序列数据库、全文搜索数据库、文档数据库、图数据库等。
-
Redis
一款设计简洁的缓存数据库,数据都保存在内存中,所以读写单一 Key 的性能非常高。
- 薄弱的地方是,不擅长做 Key 的搜索; Keys 命令[O(n) 时间复杂度]对 Key 的搜索,其实相当于在 MySQL 里做全表扫描.
- 对于 Key 的搜索,我们可以先通过关系型数据库进行,然后再从 Redis 存取数据(如果实在需要搜索 Key 可以使用 SCAN 命令)。
-
InfluxDB
是一款优秀的时序数据库。
- InfluxDB 不支持数据更新操作
- 数据结构上,时间序列数据数据没有单一的主键标识,必须包含时间戳,数据只能和时间戳进行关联
- 提供的 tag 功能, tag 有索引, 不能保存 URL 等信息
-
Elasticsearch
是目前非常流行的分布式搜索和分析数据库,独特的倒排索引结构(可以认为是一个 Map,其 Key 是分词之后的关键字,Value 是文档 ID/ 片段 ID 的列表。)尤其适合进行全文搜索。
- 我们会把 ES 和 MySQL 结合使用,MySQL 直接承担业务系统的增删改操作,而 ES 作为辅助数据库,直接扁平化保存一份业务数据,用于复杂查询、全文搜索和统计。
- 是一个分布式的全文搜索数据库,优势在于文本搜索,而且因为其分布式的特性,可以使用一个大 ES 集群处理大规模数据的内容搜索
- 由于 ES 的索引是文档维度的,所以不适用于频繁更新的 OLTP 业务。
-
MongoDB
结论: 结合 NoSQL 和 MySQL 应对高并发的复合数据库架构
MyBatisPlus基本框架结构及基础应用
Mybatisplus 相关操作之 IService BaseMapper ServiceImpl 简单应用 - 全栈程序员必看