简易的开发框架(微服务) Asp.Net Core 2.0

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的更多相关文章
- 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创建了一个基于微服务的 ...
随机推荐
- 分享知识-快乐自己:JAVA中的 Iterator 和 Iterable 区别
java.lang.Iterable java.util.Iterator Iterator是迭代器类,而Iterable是接口. 好多类都实现了Iterable接口,这样对象就可以调用itera ...
- 如何配置OpenFire上JVM的内存(Memory)
目前OpenFire在Linux下有2种安装方式, 网上对于第二种Linux安装方式下如何配置JVM内存(Memory)并没有描述: tar -xzvf openfire_3_0_0.tar.gzmv ...
- IOC/DI控制反转与依赖注入
IOC/DI控制反转与依赖注入 IOC和DI表现的效果的是一样的只不过对于作用的对象不同,有了不一样的名字. 先用一个现实的例子来说明IOC/DI表现出来的效果.
- NO1:安装VMLinux虚拟机,安装配置Samba实现Linux与Windows文件共享
离开技术好些年,仅凭记忆开始学习.同时决定在Linux系统学习C语言. 一.下午安装了VM 8.0,安装RedHat Enterpris Server 6.4虚拟操作系统,都还比较顺利. 二.要实现L ...
- 「USACO15FEB」「LuoguP3121」审查(黄金)Censoring (Gold)(AC自动机
题目描述 Farmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so they h ...
- 【LeetCode】259 3Sum Smaller
题目: Given an array of n integers nums and a target, find the number of index triplets i, j, k with 0 ...
- mysql基础itcast笔记
1. 课程回顾 mysql基础 1)mysql存储结构: 数据库 -> 表 -> 数据 sql语句 2)管理数据库: 增加: create database 数据库 default c ...
- javascript中原型链存在的问题
我们知道使用原型链实现继承是一个goodway:)看个原型链继承的例子. function A () { this.abc = 44; } A.prototype.getAbc = function ...
- Jsp介绍(1)
JSP(Java Server Pages)是运行在服务端的语言是一种动态网页开发技术它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束.是一种使软件开发者可以 ...
- Divide Two Integers-不用'/' '*' '%'操作实现整数的除法
题目描述: 不用 '*' '/' 和 '%' 运算实现两个整数的除法 题目来源:http://oj.leetcode.com/problems/divide-two-integers/ 题目分析: 例 ...