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

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

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

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

从 对象 和 数据 的 矛盾, 我们 可以再引出 “对象 和 数据 的 第一次 战争”,  即  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

论 微服务 和 Entity Framework 对 数据 的 割裂的更多相关文章

  1. Entity Framework CodeFirst数据迁移

    前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是“Database First”还是“Model First”当模型发生改变了都可以通过Visual ...

  2. .NET Core微服务之基于MassTransit实现数据最终一致性(Part 2)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.案例结构与说明 在上一篇中,我们了解了MassTransit这个开源组件的基本用法,这一篇我们结合一个小案例来了解在ASP.NET C ...

  3. Entity Framework 插入数据 解决主键非自增问题

    http://blog.csdn.net/educast/article/details/8632806 与Entity Framework相伴的日子痛并快乐着.今天和大家分享一下一个快乐,两个痛苦. ...

  4. .NET Core微服务之基于MassTransit实现数据最终一致性(Part 1)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.预备知识:数据一致性 关于数据一致性的文章,园子里已经有很多了,如果你还不了解,那么可以通过以下的几篇文章去快速地了解了解,有个感性认 ...

  5. ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity ...

  6. ASP.NET Core 入门笔记9,ASP.NET Core + Entity Framework Core 数据访问入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity ...

  7. Apache Cassandra——可扩展微服务应用程序的持久数据存储

    通过使用微服务,团队可以更快地响应变化,而无需改动整个应用程序.利用微服务,开发团队可以构建出具有鲁棒性和可扩展性的系统,从而适应当今应用程序的需求.   然而,使用微服务也带来了一系列挑战.在本文中 ...

  8. Entity Framework 丢失数据链接的绑定,在已绑好的EDMX中提示“Choose Your Data Connection”

    早先做的一个练手的项目中, 使用到了Entity framework . 最近碰到一个问题,在edmx 里面选择“Update model from Database” 的时候提示了 “Choose ...

  9. Entity Framework Migrations 数据迁移

    在使用Entity Framework 过程中,经常会遇到需要变更model 的状况,此时可以使用Migrations ,将每次变更记录以便后续更换机器或是运行在生产环境,持久层可保持一致. 在Pac ...

随机推荐

  1. Java内存模式

    Java内存模型即Java Memory Model,简称JMM.JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式. JVM是Java Virtual Machine(Java ...

  2. spring的官方文档地址

    https://docs.spring.io/spring/docs/current/spring-framework-reference/

  3. org.apache.httpcomponents httpclient 发起HTTP JSON请求

    1. pom.xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactI ...

  4. 强化学习7-Sarsa

    之前讲到时序差分是目前主流强化学习的基本思路,这节就学习一下主流算法之一 Sarsa模型. Sarsa 是免模型的控制算法,是通过更新状态动作价值函数来得到最优策略的方法. 更新方法 Q(S,A)=Q ...

  5. <Yarn><Node Labels>

    Go through official docs For the official docs of Yarn node label, plase see here. Overview Node lab ...

  6. nginx——绑定 Nginx 进程到不同的 CPU 上

    为什么要绑定 Nginx 进程到不同的 CPU 上 :默认情况下,Nginx 的多个进程有可能跑在某一个 CPU 或 CPU 的某一核上,导致 Nginx 进程使用硬件的资源不均,因此绑定 Nginx ...

  7. springsecurity启动出现org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: You must use a 3.0 schema with Spring Security 3.0.

    在换了spring-security的jar包以后启动出现org.springframework.beans.factory.parsing.BeanDefinitionParsingExceptio ...

  8. idea本地安装 lombok插件

    转:https://blog.csdn.net/weixin_41404773/article/details/80689639 idea本地安装 lombok插件 项目中经常使用bean,entit ...

  9. think in java 读书笔记

    第三章 操作符 3.1 更简单的打印语句  原:System.out.println("打印"); 简单:print("我是更简单的");  =======需要 ...

  10. HDU 6095 17多校5 Rikka with Competition(思维简单题)

    Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he ...