[目录] ASP.Net Core 搭建微服务网站
本项目采用ASP.Net Core微服务技术,搭建博客和Saas平台。
全文将围绕(1)设计模式 (2)敏捷开发
目的: 结构足够合理,代码足够优美,扩展性、可读性、易维护性做到最优。
以下目录仅为整体思路,后期逐渐完善补充。
1.配置linux环境实现持续集成
2.快速搭建 ASP.net core Web 应用
3.单元测试
4.数据持久化(基于YesSql,打算使用EFCore重新做)
5.用户管理及登录页面
6.分布式通信----MessagePack序列化
7.分布式通信----Netty实现NIO通信
分布式服务----Consul注册中心
分布式服务----负载均衡
分布式服务----熔断器
分布式治理----网关
分布式队列----RabbitMq与Kafka消息组件
分布式缓存----Redis与Memcache
角色管理
模块管理
菜单(导航)管理
主题配置
日志管理
博客内容管理
用户评论管理
全文检索
接入第三方认证及API治理
调用第三方API服务
工作流管理
定时作业、事件触发
租户(组织单位)管理(Saas)
ERP(简化数据录入、联动、计算)
文件管理
邮件发送与接收
数字证书https管理
业务数据展示处理(报表)
大数据计算
其它技术
整体架构设计
首先,灵感来源是微软的一个开源项目OrchardCore:https://github.com/OrchardCMS/OrchardCore, 最开始关注它的时候是.net Framework, 后来转到了 .net core
这里是他的官方文档:https://orchardcore.readthedocs.io/en/dev/ 后期有精力的话,我会将它源码分析做一个系列的博客。
能够实现Saas和Blog比较完善业务功能,而且模块的扩展性很好,但是不是微服务架构,没有服务注册、路由、发现等,很难做到分布式。我画了一张该项目的基础模块包依赖图,用来分析项目依赖关系:

还有一个微服务的开源项目,surging:https://github.com/dotnetcore/surging, 封装了很全的微服务中的服务注册、发现、网关,使用Netty重写了http、WS、Mqtt通信协议,支持ProtoBuffer、MessagePack序列化方式,Kafka、RabbitMq消息中间件等。
以下是我绘制的包依赖图:

我着手搭建的项目将参考上述开源项目,整体架构图我后期会做补充和拆解分析。
[目录] ASP.Net Core 搭建微服务网站的更多相关文章
- spring cloud+dotnet core搭建微服务架构:配置中心续(五)
前言 上一章最后讲了,更新配置以后需要重启客户端才能生效,这在实际的场景中是不可取的.由于目前Steeltoe配置的重载只能由客户端发起,没有实现处理程序侦听服务器更改事件,所以还没办法实现彻底实现这 ...
- spring cloud+.net core搭建微服务架构:配置中心续(五)
前言 上一章最后讲了,更新配置以后需要重启客户端才能生效,这在实际的场景中是不可取的.由于目前Steeltoe配置的重载只能由客户端发起,没有实现处理程序侦听服务器更改事件,所以还没办法实现彻底实现这 ...
- 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)
背景 公司去年开始使用dotnet core开发项目.公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代 ...
- spring cloud+dotnet core搭建微服务架构:配置中心(四)
前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...
- spring cloud+.net core搭建微服务架构:服务注册(一)
背景 公司去年开始使用dotnet core开发项目.公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代 ...
- spring cloud+.net core搭建微服务架构:配置中心(四)
前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...
- 跟着园内spring cloud+.net core搭建微服务架构 服务消费出错问题
http://www.cnblogs.com/longxianghui/p/7561259.html spring cloud+.net core搭建微服务架构:服务发现 最近在跟随着园区内的这个博客 ...
- spring cloud+dotnet core搭建微服务架构:服务发现(二)
前言 上篇文章实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这 ...
- spring cloud+dotnet core搭建微服务架构:Api网关(三)
前言 国庆假期,一直没有时间更新. 根据群里面的同学的提问,强烈推荐大家先熟悉下spring cloud.文章下面有纯洁大神的spring cloud系列. 上一章最后说了,因为服务是不对外暴露的,所 ...
随机推荐
- .net持续集成sonarqube篇之项目管理与用户管理
系列目录 删除项目 在学习阶段,我们可能需要经常删除已构建的项目,在sonarqube中想要删除一个项目有两个入口,都在Administration导航栏内. 在项目内部的管理界面删除 如果项目处于打 ...
- 数据库---T-SQL语句(一)
一.T-SQL语句 1.创建表:create table Name(Code varchar(50),) 主键:primary key 自增长:auto_increment 外键关系:referenc ...
- linux初学者-Apache篇
linux初学者-Apache篇 Apache提供了超文本传输协议http,httpd是Apache超文本传输协议的主服务器.下文将对httpd的安装和配置进行简单的叙述. ...
- Maven国内镜像 Maven阿里云镜像
<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name&g ...
- jango简介
Django简介 Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Mode ...
- JVM执行原理
,Java是一种技术,它由四方面组成:Java编程语言.Java类文件格式.Java虚拟机和Java应用程序接口(Java API).它们的关系如下图所示: 运行期环境代表着Java平台,开发人员编写 ...
- 1A2B
玩了玩www.syscan.org的小游戏,第三关是一个1A2B的问题,写个小脚本爆破一波,同时分享下脚本(把数固定到代码里了,要在别处用的自己改吧). #-*-coding:utf8;-*- #qp ...
- ajax定义与开发最简五步骤
ajax是什么? a (async异步) j (javascript) a (and) x (xml)即异步的javascript和xml ajax特点:异步 不刷新整个页面 (局部刷新) we ...
- 【JDK】JDK源码分析-ReentrantLock
概述 在 JDK 1.5 以前,锁的实现只能用 synchronized 关键字:1.5 开始提供了 ReentrantLock,它是 API 层面的锁.先看下 ReentrantLock 的类签名以 ...
- JDK1.8源码分析03之idea搭建源码阅读环境
序言:上一节说了阅读源码的顺序,有了一个大体的方向,咱们就知道该如何下手.接下来,就要搭建一个方便阅读源码及debug的环境.有助于跟踪源码的调用情况. 目前新开发的项目, 大多数都是基于JDK1.8 ...