本项目采用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 搭建微服务网站的更多相关文章

  1. spring cloud+dotnet core搭建微服务架构:配置中心续(五)

    前言 上一章最后讲了,更新配置以后需要重启客户端才能生效,这在实际的场景中是不可取的.由于目前Steeltoe配置的重载只能由客户端发起,没有实现处理程序侦听服务器更改事件,所以还没办法实现彻底实现这 ...

  2. spring cloud+.net core搭建微服务架构:配置中心续(五)

    前言 上一章最后讲了,更新配置以后需要重启客户端才能生效,这在实际的场景中是不可取的.由于目前Steeltoe配置的重载只能由客户端发起,没有实现处理程序侦听服务器更改事件,所以还没办法实现彻底实现这 ...

  3. 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)

    背景 公司去年开始使用dotnet core开发项目.公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代 ...

  4. spring cloud+dotnet core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  5. spring cloud+.net core搭建微服务架构:服务注册(一)

    背景 公司去年开始使用dotnet core开发项目.公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代 ...

  6. spring cloud+.net core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  7. 跟着园内spring cloud+.net core搭建微服务架构 服务消费出错问题

    http://www.cnblogs.com/longxianghui/p/7561259.html spring cloud+.net core搭建微服务架构:服务发现 最近在跟随着园区内的这个博客 ...

  8. spring cloud+dotnet core搭建微服务架构:服务发现(二)

    前言 上篇文章实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这 ...

  9. spring cloud+dotnet core搭建微服务架构:Api网关(三)

    前言 国庆假期,一直没有时间更新. 根据群里面的同学的提问,强烈推荐大家先熟悉下spring cloud.文章下面有纯洁大神的spring cloud系列. 上一章最后说了,因为服务是不对外暴露的,所 ...

随机推荐

  1. 第2个C# Winform实例,寻找三角形的位置

    这里,在第一个例子的基础上,稍微做修改,达到最终定位三角形位置的目的. 先在网络上找一张包含有三角形的图片,我们这里使用一张有三个三角形和一些标记的图片来处理. 原图: 先贴结果图片:左侧,中间,右侧 ...

  2. java - 多态实现机制

    Java提供了编译时多态和运行时多态两种多态机制.前者是通过方法重载实现的,后者是通过方法的覆盖实现的. 在方法覆盖中,子类可以覆盖父类的方法,因此同类的方法会在父类与子类中有着不同的表现形式. 在J ...

  3. Android利用Handler异步获取子线程中的产生的值

        本文首发于cartoon的博客     转载请注明出处:https://cartoonyu.github.io/cartoon-blog     近段时间有一个需求:在线获取图片并且显示在界面 ...

  4. Jquery第一次考核

    1. 什么是JS JavaScript 缩写.一种计算机脚本语言 JavaScript是一种动态.弱类型.基于原型的语言,通过浏览器可以直接执行 2. JS三大组成部件 ECMAScript DOM ...

  5. java 第五章

    java 第五章   while 循环语句 语法:while(循环条件){ //循环操作 循环条件自加: } while循环结构的特点:先判断,在执行.    while   的执行步骤 (1) 声明 ...

  6. div span img对齐,垂直居中对齐问题

    我想你们在前端开发中或多或少都遇到过这种问题,文字和图片不能平齐,很是头疼. HTML代码: <div class="">小太阳<span>小太阳</ ...

  7. 模拟器无Back、Menu等键

    问题如图所示: 解决方法: 1. 打开Android Virtual Device (AVD) Manager --> 选择模拟器,并点击edit --> 勾选KeyBoard中的选项,并 ...

  8. Flutter学习笔记(13)--表单组件

    如需转载,请注明出处:Flutter学习笔记(13)--表单组件 表单组件是个包含表单元素的区域,表单元素允许用户输入内容,比如:文本区域,下拉表单,单选框.复选框等,常见的应用场景有:登陆.注册.输 ...

  9. Web容器启动中执行某个Java类

    1.监听(Listener) <!-- 配置监听 --> <listener> <listener-class>com.xian.jdbc.GetPropertie ...

  10. Python基础总结之异常、调试代码第十二天开始(新手可相互督促)

    年薪20万的梦想,加油! 我们在写代码的时候,控制台经常会报错,因为某种错误,导致我们的程序停止,且不再运行下面的代码. 我们看一个错误的代码示例: def add_1(): #没有参数 print( ...