Dubbo 面试
Dubbo 的实现过程?
节点角色:
节点 | 角色说明 |
---|---|
Provider | 暴露服务的服务提供方 |
Consumer | 调用远程服务的服务消费方 |
Registry | 服务注册与发现的注册中心 |
Monitor | 统计服务的调用次数和调用时间的监控中心 |
Container | 服务运行容器 |
节点角色:
节点 | 角色说明 |
---|---|
Provider | 暴露服务的服务提供方 |
Consumer | 调用远程服务的服务消费方 |
Registry | 服务注册与发现的注册中心 |
Monitor | 统计服务的调用次数和调用时间的监控中心 |
Container | 服务运行容器 |
ES 存储数据的流程可以从三个角度来阐述:
Elasticsearch 支持多种搜索:
Elasticsearch 是一款基于 Lucene 的开源分布式搜索引擎。
Term 是表达语意的最小单位。搜索和利用统计语言模型进行自然语言处理都需要处理 Term
Term 级别查询:Term / Range / Exists / Prefix / Wildcard
在 ES 中,Term 查询,对输入不做分词。会将输入作为一个整体,在倒排索引中查找准确的词项,并且使用相关度计算公式为每个包含该词项的文档进行相关度计算。
什么是 MongoDB?
一个以 JSON 为数据模型的文档数据库。
为什么叫文档数据库?
文档来自于“JSON Document”,并非我们一般理解的 PDF,WORD 文档。
谁开发 MongDB?
上市公司 MongoDB Inc. ,总部位于美国纽约。
主要用途
TODO: 补图
为什么要使用分片集群?
——分而治之
分片如何解决?
TODO:补图
分片组件:
部分章节内容更偏向于 DBA 的工作,在实际的开发工作中相关性较少,直接略过。
MySQL 逻辑架构分为三层:
解决并发问题的最常见方式是加锁。
排它锁(exclusive lock) - 也叫写锁(write lock)。锁一次只能被一个线程所持有。
共享锁(shared lock) - 也叫读锁(read lock)。锁可被多个线程所持有。
MongoDB 是一个分布式文档数据库,由 C++ 语言编写。
面向文档的数据库使用更灵活的“文档”模型取代了“行”的概念。通过嵌入文档和数组,面向文档的方式可以仅用一条记录来表示复杂的层次关系。
MongoDB 中也没有预定义模式(predefined schema):文档键值的类型和大小不是固定的。由于没有固定的模式,因此按需添加或删除字段变得更容易。
综上,MongoDB 支持结构化、半结构化数据模型,可以动态响应结构变化。