三个基本原则:可见性、原子性、有序性
为了对齐cpu速度与内存速度的差异化,在cpu与内存之间增加了缓存架构,由于预加载cpu处理数据,以此来充分利用 cpu。在单核 cpu 的时候,只有一份缓存,用起来并没有问题,而当多核cpu协同处理问题时,就会出现缓存与实际数据不一致的情况。于是cpu引入了,一致性的协议MESI。
在编程中,一个线程对共享变量的修改,另外一个线程能够立刻看到,我们称为可见性。
Two/Three Phase Commit
人间忽晚,山河已秋。暮然回首,悠悠已三年。
面试我们公司的时候,本来是觉得进不了,除了基础回答得还行,所有分布式框架,原理我都不懂。尤其面试官都在和我说,“你下次简历可以写上你平时自己做的东西,不一定是你上家公司的项目”,我基本就确定不过了。感觉挺可惜的,因为面试官问的东西我在上家公司基本没接触过。但是结果显而易见,我还是进了。挺惊喜,也挺感谢的。
documents : 可以建立索引的基本单位
index:具有相似特征的 documents 集合
type:曾经是 index 的逻辑类别或分区,准许在 index 中创建不同类型的 documents, 但是 type在6.0以后被弃用了
mapping: 处理数据的方式和规则
Near Realtime (NRT):轻微的延迟(通常是 1 秒以内)