07 2020 档案
摘要:1.NameNode启动 (1)首次启动需要格式化NameNode,创建Fsimage和Edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。 (2)客户端对元数据进行增删改的请求。 (3)NameNode记录操作日志,更新滚动日志。 (4)NameNode在内存中对元数据进行增删改
阅读全文
摘要:Django:Python 界最全能的 web 开发框架,battery-include 各种功能完备,可维护性和开发速度一级棒。常有人说 Django 慢,其实主要慢在 Django ORM 与数据库的交互上,所以是否选用 Django,取决于项目对数据库交互的要求以及各种优化。而对于 Djang
阅读全文
摘要:Gossip protocol 也叫 Epidemic Protocol (流行病协议)。Gossip protocol在1987年8月由施乐-帕洛阿尔托研究中心发表ACM上的论文 《Epidemic Algorithms for Replicated Database Maintenance》 中
阅读全文
摘要:Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP)。 1)抽象(abstract) 忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂
阅读全文
摘要:redis作为非关系型数据库的一种,属于键值型数据存储,因为redis支持高并发的快速数据访问,所以在生产中多用来作为缓存使用,以提高数据读取效率,提高整个应用程序的并发性能。redis主要有以下特点 1.支持多种数据结构; 2.支持持久化操作,支持用AOF和RDB两种数据持久化策略把数据持久化到磁
阅读全文
摘要:什么是单体架构 一个归档包(例如war格式或者Jar格式)包含了应用所有功能的应用程序,我们通常称之为单体应用。架构单体应用的方法论,我们称之为单体应用架构,这是一种比较传统的架构风格。 单体架构示例图 - 单体架构的缺陷 - 1.复杂性高 整个项目包含的模块非常多,模块的边界模糊,依赖关系不清晰,
阅读全文
摘要:- 总述 - 咱们前面分别对分布式事务的几个分支:XA、2PC、3PC、TCC、Saga、事务消息、最大努力事务进行的详细介绍。本篇作为分布式事务设计的收尾篇,讲对前面的内容查缺补漏和总结,最后对市面的一些开源框架做一些介绍。 - 查缺补漏 - 1. 补偿型事务 柔性事务分补偿型事务和通知型事务。但
阅读全文
摘要:消息丢失的场景 如果Kafka Producer使用“发后即忘”的方式发送消息,即调用producer.send(msg)方法来发送消息,方法会立即返回,但此时并不能说明消息已经发送成功。消息发送方式详见初次邂逅Kafka生产者。 如果在消息过程中发生了网络抖动,那么消息就会丢失;或发送的消息本身不
阅读全文
摘要:一、概述 咱们今天聊聊分布式事务系列中的最后一个方案:最大努力通知事务。最大努力通知事务的主流实现仍是基于MQ来进行事务控制。最大努力通知事务和事务消息都是通知型事务,主要适用于那些需要异步更新数据,并且对数据的实时性要求较低的场景。 最大努力通知事务主要用于外部系统,因为外部的网络环境更加复杂和不
阅读全文