作者回复: 是的,但是更重要的是接口是高层需求的抽象,还是底层实现的抽象。这是依赖倒置的关键,面向接口本身并不能保证依赖倒置原则,否则和接口隔离原则没有区别。
作者回复: 依赖倒转一般是指两个实现之间的依赖关系倒转。
这里上下文的两个实现应该分别是应用程序和数据库,应用程序依赖SQL,数据库实现SQL。
但是,SQL作为规范是数据库制定的规范,是底层规范,而不是应用程序制定的,所以这种情况一般不认为是依赖倒转。
作者回复: 有可能。
不用yarn也会有这个问题。
网络效率这几年提升很快,这个问题不严重。
作者回复: 是的👍🏻
作者回复: 没有关系。两种容器设计思路差不多,docker更通用。
作者回复: 理解原理后倒推它应该是什么样,训练自己从设计者角度分析问题,而不是一味被动学习。
也是这个专栏想达到的目的。
作者回复: 资源调度如Yarn,管理的是集群中的计算资源,如CPU、内存的分配和回收。
计算调度应该是计算任务调度,如map和reduce的任务或者spark的任务,应该在哪个container启动,启动前后顺序管理等。
作者回复: 也许我们将来可以再开个架构的专栏😁
作者回复: 我觉得你已经描述很清楚了,资源管理和执行过程耦合,再感受一下~
作者回复: 根据数据量和分片大小计算,相除就可以。
作者回复: 应用程序指client,最先启动,通常不在Hadoop集群中。client提交作业后,是am在Hadoop中启动,对hadoop而言可以认为是am最先启动。
作者回复: 不符合,还是上层依赖下层。
作者回复: 是的