思呓(2)

学习:

  • 世界底层有那么几块积木。基于这几块积木之上, 如何拼装,组装不同层次的工具+实践/场景 = 产品。
  • 不同的人对技术有不同层面的认知,在于知道、认识到、体验到的积木多少。
  • 学习的本质——反编译:通过知识生产流程生产出来的不同层次的知识—> 反编译 —> 原创者的思路。
  • 方法:基于自身的知识和经验判断思路模型的价值,基于自身实际情况trade-off,创造出自己的产品MVP,并不断迭代。

分布式

  • 分布式系统就是抽象了一个容器, 基于操作系统原理, 性质如同分布式操作系统。如果抽象的好, 对应用层是透明的,业务逻辑代码和管理的代码实现解耦。应用层只需要处理业务逻辑,一切管理逻辑和协调逻辑在下层都处理,且对上层透明,但目前做不到。 所以在理想到来之前,我们做的就是在抽象和封装不完善的现实下,为系统打补丁。
  • 如: 分布式数据库 NewSQL VS 数据库分库分表,数据库Proxy;
    Cloud Native——像单机上一样使用云上的分布式;
    Service Mesh, 边车模式;

解耦

  • 热力学定律,世界不断熵增,即越来越无序,所谓解耦就是熵减,抵抗无序,毕竟生命以负熵为食。
  • 程序的耦合包括:代码行耦合 -> 方法级别耦合 -> 类级别耦合 -> 线程级别耦合 —> 进程级别耦合 —> 网络间进程耦合。
  • 更简单的使用,需要更高的抽象,需要底层和基础越深;
    理解的越深,抽象的越好,产品越容易使用;
    对机器理解的越深,才能抽象的更好,产品离人更近;
  • 设计模式: 扩展性,将未来的熵增提前预判,总结到固定的模式;
    架构: 扩展性 (升维思考,时间维度,面向未来,面向变化编程)
  • 计算机解决问题: 加一层, 拆。
  • 编程的本质就是将控制和逻辑分离和解耦,而边车模式也是异曲同工。

你可能感兴趣的:(思呓(2))