Asp.Net Core 2.0 + Mysql Orm + Ioc + Redis + AOP + RabbitMQ + Etcd + Autofac + Swagger
基础框架:
https://github.com/AmosLi443061626/.Net-Core-Development 
Etcd数据库分表分库是中间件去分:
https://github.com/AmosLi443061626/EtcdWebMannger

以前是注册与发现,接入了thrift
后面发现docker  -> k8s 自带系统级别的,就基础框架就ok .

注意事项:

不允许Join查询,可以使用多查的方式  >> 分表分库

配置获取统一用 ConfigManagerConf.Get("**")   >>  扩展 etcd 动态更新

所有方法调用使用 IocContainer.Container.Get Ioc模式 >> AOP模式特性处理方法

日志记录使用 Log 方法   >>  扩展集中日志发送
初始化请看 Program.cs 文件

ORM请移至: https://github.com/yuzd/AntData.ORM

项目简介:

BusinessService:业务层(接口模式)
  • IStandard.Examples (接口层)
  • Standard.Examples (实现层)
DB(DB层)
  • DBContextEntity:qlServer/Mysql 模型生成层及默认DB初始化层 
    +mysql文件夹下:EntityRobotForMysql.tt 保存(Ctrl+S)即生成数据库模型;EntityRobotForMysql.tt中LoadMySqlMetadata 
    ("连接字符串") 配置生成模型的数据库连接字符串
Domain(Model层)
  • Domains:业务model
Infrastructure(基础服务)
  • CacheOperation:缓存处理
  • Checks:验证扩展
  • Configs:配置信息管理(使用Etcd)
  • Exceptions:异常
  • Extensions:帮助层,内含 等扩展
  • Ioc(控制反转):控制反转全局组件
  • BaseAspectAttribute:基础属性
  • CacheAttribute:缓存属性
  • LoggerAttribute:日志属性
  • TopSubscribeAttribute:订阅属性
  • IocContainer.RegisterAssembly(实现,接口):注册组件 
    IocContainer.Container.Build()更新注册信息 
    IonCOntainer.Get()配置组件
  • Logs:日志  >> NLog.config
  • Mappering:DTO数据转换
  • MessageMQ:消息队列 (Rabbitmq)
  • Pools:池化扩展
  • RedisHelper:redis操作
  • Pools:池化扩展
  • Result:统一结果返回类
  • RequestExtend:Htpp请求扩展
startups(服务启动层)
  • startup(示列)
  • Filters(拦截)
      LogFilterAttribute:日志拦截
所有的程序统一使用Ioc管理,要是程序生效,必须先到Program中注册
第一步:     使用ORM工具生成数据库模型

DB -> EntityRobotForMysql.tt 中 LoadMySqlMetadata("连接字符串") 配置生成模型的数据库连接字符串,然后保存生成数据模型 
    ORM 确定不能满足的情况下,请在DBContextEntity 项目中新建类,进行T-SQL编写,编写后调用; 
    ORM: 使用方式请查看

https://github.com/yuzd/AntData.ORM

第二步:Infrastructure(基础服务)->Configs->ConfigManagerConf 设置Mysql连接字符串
第三步: 编写业务及开放业务接口(方法统一返回参数:Result):

==

Docker + k8s + .Net Core + Etcd  -> Pass

简易的开发框架(微服务) Asp.Net Core 2.0的更多相关文章

  1. Ocelot网关统一查看多个微服务asp.net core项目的swagger API接口

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 一.准备 前提需要下载安装consul,项目需要懂添加swagger 统一在网关中配置多个微服务的swagger,需要用到服务注册 ...

  2. Ubuntu & Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践

    相关博文: Ubuntu 简单安装 Docker Mac OS.Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和简单使用 阅读目录: Docker 运行 C ...

  3. Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践

    相关博文: Ubuntu 简单安装 Docker Mac OS.Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和简单使用 阅读目录: Docker 运行 C ...

  4. ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)

    早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...

  5. 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群

    庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介      前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...

  6. ASP.NET Core 2.0 : 五.服务是如何加载并运行的, Kestrel、配置与环境

    "跨平台"后的ASP.Net Core是如何接收并处理请求的呢? 它的运行和处理机制和之前有什么不同? 本章从"宏观"到"微观"地看一下它的 ...

  7. Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架

    Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...

  8. 微服务的.NET Core示例框架

    eShopOnContainers 是一个基于微服务的.NET Core示例框架 https://www.cnblogs.com/fengqingyangNo1/p/9438428.html 找到一个 ...

  9. eShopOnContainers 是一个基于微服务的.NET Core示例框架

    找到一个好的示例框架很难,但不是不可能.大多数是小型Todo风格的应用程序,通常基于SimpleCRUD.值得庆幸的是,Microsoft已经为eShopOnContainers创建了一个基于微服务的 ...

随机推荐

  1. navicat for mysql 安装

    直接上正题,用于记录 1.下载linux版本的navicat:http://www.navicat.com/download/navicat-for-mysql 2.解压 tar -vzxf navi ...

  2. ES搜索排序,文档相关度评分介绍——Field-length norm

    Field-length norm How long is the field? The shorter the field, the higher the weight. If a term app ...

  3. VC Q&A (原创)

    Q1:External Dependencies有什么作用? A1:(网友答复:)External   Dependencies是说你没有把这个文件加入到这个工程中,但是需要这个文件的支持.当然有时是 ...

  4. [POI 2000] 公共串

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2946 [算法] 建立多串后缀树 对于后缀树上的每个点 , 判断该节点所代表的等价类是 ...

  5. AR/VR-VR-Info-Micron-Insight:虚拟现实开辟心理健康新途径

    ylbtech-AR/VR-VR-Info-Micron-Insight:虚拟现实开辟心理健康新途径 1.返回顶部 1. 虚拟现实开辟心理健康新途径 全国心理疾病联盟最近发表的一份报告揭示了惊人的统计 ...

  6. 网络编程 recv()函数

    recv()是编程语言函数. 函数原型int recv( _In_ SOCKET s, _Out_ char *buf, _In_ int len, _In_ int flags); 这里只描述同步S ...

  7. Java类加载原理解析(转)

    1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载.Java的类加载机制是技术体系中比较核心的 ...

  8. JavaScript与DOM常见面试题

    1. JavaScript 1.1.简要描述 JavaScript的数据类型? 参考答案: Java Sc ri pt 的数据类型可以分为原始类型和对象类型.原始类型包括 string. number ...

  9. 性能测试之Jmeter学习(十)

    分布式部署(转载) 一.分布式介绍: Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAV ...

  10. 在windows10环境下给PHPStorm配置xdebug断点调试功能

    笔者的开发环境: wampserver2.5系统环境包 操作系统:windows10 64位专业版. php版本:php5.512 Apache版本:2.49 好了下面介绍,phpstorm配置xde ...