zoukankan      html  css  js  c++  java
  • 论 微服务 和 Entity Framework 对 数据 的 割裂

    微服务 的 本质 是 面向对象,

    微服务 是 面向对象 对 数据中心 发起的挑战, 

    在 微服务 架构下, “数据为中心” 的 传统架构 被 严重 割裂,

    微服务 的 先天矛盾, 是 对象 和 数据 的 矛盾 。

     

    从 对象 和 数据 的 矛盾, 我们 可以再引出 “对象 和 数据 的 第一次 战争”,  即  O-R  Mapping  ,

    或者说 各种  ORM  框架 的 大繁荣 时期 和 历程  。

     

    Entity Framework ,  是 ORM 发展 到 巅峰 的 产物  。

    Entity Framework (以下 简称  EF) 的 目的 是 建立一个 抽象层, 这个 抽象层 以 纯粹 的 对象 的 方式 访问数据, 

    取代 直接访问数据 的 方式 (如 Sql) 。

    这可能吗 ?

     

    所以, EF 和 微服务 一样, 对 数据 造成了 严重 的 割裂,

    数据割裂 带来 的 结果 就是 效率 低下 。

    开发效率 低下, 运行效率 低下, 维护效率 低下, 扩展效率 低下, 应对变化 的 效率 低下  。

     

    可以说, 微服务 和  EF  是 这种 用对象割裂数据  思想 的 两个 代表 。

     

    对象, 只能 是 访问数据 的 辅助, 不能 取代 数据 的 地位 。

     

    我认为, 未来,  微服务 和 EF  并不会是 业务系统 开发 / 架构 的 唯一的路,

    还会出现一条 和 微服务 EF 相对 的 道路, 就是 以 数据为中心 , 以 面向对象 为 设计 的 业务系统 开发/架构   之路 。

     

    这条道路, 看起来 富有 “复古”之风, 但, 复古之美 在于 简洁之美 。

    复古 而 新生 。

     

    相对于 微服务, 我提倡 SOA 。

    我认为 大力 发展 SOA ,  比 微服务 的 意义 更大 。

    有关 SOA ,  可以 参考 我写的 另外一篇文章  《谈谈 SOA》     https://www.cnblogs.com/KSongKing/p/10133963.html

  • 相关阅读:
    android button click事件
    springmvc 多方法访问
    hibernate的save和saveOrUpdate方法
    总结的方法
    oracle 存储过程
    ibatis学习笔记(四)>>>>>>>ibatis使用实例
    ibatis学习笔记(二)>>>>>>>sqlMapConfig.xml文件详解
    ibatis学习笔记(三)>>>>>>>java实体跟表映射.xml文件详解
    ibatis学习笔记(一)>>>>>>>sqlMapConfig.xml文件详解
    spring
  • 原文地址:https://www.cnblogs.com/KSongKing/p/10124126.html
Copyright © 2011-2022 走看看