简易的开发框架(微服务) Asp.Net Core 2.0
![](\Users\Hacker\AppData\Roaming\Tencent\QQ\Temp\%W@GJ$ACOF(TYDYECOKVDYB.png)
Etcd数据库分表分库是中间件去分:
![](\Users\Hacker\AppData\Roaming\Tencent\QQ\Temp\%W@GJ$ACOF(TYDYECOKVDYB.png)
以前是注册与发现,接入了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的更多相关文章
- Ocelot网关统一查看多个微服务asp.net core项目的swagger API接口
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 一.准备 前提需要下载安装consul,项目需要懂添加swagger 统一在网关中配置多个微服务的swagger,需要用到服务注册 ...
- Ubuntu & Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践
相关博文: Ubuntu 简单安装 Docker Mac OS.Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和简单使用 阅读目录: Docker 运行 C ...
- Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践
相关博文: Ubuntu 简单安装 Docker Mac OS.Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和简单使用 阅读目录: Docker 运行 C ...
- ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)
早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...
- 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群
庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介 前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...
- ASP.NET Core 2.0 : 五.服务是如何加载并运行的, Kestrel、配置与环境
"跨平台"后的ASP.Net Core是如何接收并处理请求的呢? 它的运行和处理机制和之前有什么不同? 本章从"宏观"到"微观"地看一下它的 ...
- 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 ...
- 微服务的.NET Core示例框架
eShopOnContainers 是一个基于微服务的.NET Core示例框架 https://www.cnblogs.com/fengqingyangNo1/p/9438428.html 找到一个 ...
- eShopOnContainers 是一个基于微服务的.NET Core示例框架
找到一个好的示例框架很难,但不是不可能.大多数是小型Todo风格的应用程序,通常基于SimpleCRUD.值得庆幸的是,Microsoft已经为eShopOnContainers创建了一个基于微服务的 ...
随机推荐
- Mybatis 批量删除 单引号
MySQL效果: ' AND NAME IN ('policycustom1.xmlx','policycustom.xmlx','policycustom1.xmlx','policycustom. ...
- ES 搜索结果expalain 可以类似数据库性能调优来看排序算法的选择
When we run a simple term query with explain set to true (see Understanding the Score), you will see ...
- 【HDU 3487】Play with Chain Splay
题意 给定$n$个数序列,每次两个操作,将区间$[L,R]$拼接到去掉区间后的第$c$个数后,或者翻转$[L,R]$ Splay区间操作模板,对于区间提取操作,将$L-1$ Splay到根,再将$R+ ...
- hdu-5805 NanoApe Loves Sequence(线段树+概率期望)
题目链接: NanoApe Loves Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/131072 ...
- BZOJ-1568: Blue Mary开公司 (李超线段树)
Description Input 第一行 :一个整数N ,表示方案和询问的总数. 接下来N行,每行开头一个单词“Query”或“Project”. 若单词为Query,则后接一个整数T,表示Blue ...
- NPM 在MacOSX中的使用技巧
经常看到有人说『为啥npm install 的时候报错,显示EACCESS错误…』,之前大家都是sudo大法解决问题,也没太在意. 至于这个问题是brew安装工具的时候造成的,还是系统修改磁盘权限造成 ...
- 把myeclipse中的web项目导入eclipse中不能编程web项目的解决办法
title: 把myeclipse中的web项目导入eclipse中不能编程web项目的解决办法 tags: grammar_cjkRuby: true --- 右键单击项目,properties-- ...
- Day04:函数参数、对象、嵌套、闭包函数和装饰器
上节课复习: 1.什么是函数 函数就是具备某一功能的工具 2.为何用函数 1.程序的组织结构和可读性 2.减少代码冗余 3.扩展性强 ...
- 三层架构与MVC比较:
三层架构与MVC比较: 1.两者不是同一概念 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目. 那么架构跟设计模式 ...
- servlet的九大内置对象和四大域对象
隐式对象 说明 request 转译后对应HttpServletRequest/ServletRequest对象 response 转译后对应HttpServletRespons/ServletRes ...