zoukankan      html  css  js  c++  java
  • 思考一种好的架构(二)

    业务服务库最小工作单元

    这种架构适用于AspNetCore

    我所使用的版本是2.2

    非常舒服的地方就是Startup.cs

    可以在ConfigureServices注册服务

    在Configure实现中间件做AOP编程,用起来不要太爽

    由于Net的控制器发现机制 ( 参考 ) 也就是每个业务服务都能拥有自己的最小单元

    控制器、模型(实体)、服务、Startup.cs

    真正做到了微服务(只关注自己的业务,其他一概不关心)

    如:

     这是一个类库,但是它拥有最小WebApi服务

    有控制器入口,有业务处理服务、有实体模型

    同时它只关心Order相关的业务

    因为DEMO的缘故,它并没有VO、Qo、Dto模型

    Vo和Qo是放在本服务中,DTO是放在业务中介者服务中

    Mediator.DoMain

     后续我们在详细介绍它

    因为工作单元的存在,所以跨库事务也是可以存在的,原子性就能保持良好,一起提交或者一起回滚,

    我个人觉得按业务划分完全独立的服务,每一个服务都是独立运行,独立管理自己的业务库,这样做代价太大,难点太多,

    同一个项目入口,按业务划分业务服务库,每个服务库单独管理自己的数据库,由工作单元去保证跨库事务的原子性,我觉得是可行的,而且微服务的初衷就是为了解耦,划分业务服务完全可以达到这个目的,为什么还要强行去拆分出独立的程序呢?

    业务服务分库这个留在最后在将最后在讲,先说下单个库的架构

    这次我们描述了下业务服务库最小工作单元和架构和它的前景

  • 相关阅读:
    What is a Complex Element
    XSD(Schema)教程 [转]
    XML对WEB开发的意义
    System.Xml名称空间下的支持DOM的类型
    C#:XML操作类
    xsl:valueof select="." 什么意思?
    文档对象模型
    XSLT转换XML
    DTCMS添加栏目教程
    win8 Windows Media Player 启动后CPU占用率高(60%左右)的解决办法
  • 原文地址:https://www.cnblogs.com/AnAng/p/12606171.html
Copyright © 2011-2022 走看看