本项目采用asp.net core微服务技术,搭建博客和saas平台。

  全文将围绕(1)设计模式  (2)敏捷开发    

  目的: 结构足够合理,代码足够优美,扩展性、可读性、易维护性做到最优。

以下目录仅为整体思路,后期逐渐完善补充。

2.快速搭建 asp.net core web 应用

4.数据库配置管理

5.服务注册中心

6.网站登录页面

7.用户管理

8.角色管理

9.租户(组织单位)管理(saas)

10.模块管理

11.菜单(导航)管理

12.主题配置

13.日志管理

14.博客内容管理

15.用户评论管理

16.全文检索

17.erp(简化数据录入、联动、计算)

18.文件管理

19.接入第三方认证及api治理

20.调用第三方api服务

21.工作流管理

22.定时作业、事件触发

23.缓存管理

24.微服务负载、熔断、监控等

25.网关监控、展示

26.邮件发送与接收

27.数字证书https管理

28.业务数据展示处理(报表)

29.大数据计算

30.其它技术

 

整体架构设计

首先,灵感来源是微软的一个开源项目orchardcore:https://github.com/orchardcms/orchardcore, 最开始关注它的时候是.net framework, 后来转到了 .net core

这里是他的官方文档:  后期有精力的话,我会将它源码分析做一个系列的博客。

能够实现saas和blog比较完善业务功能,而且模块的扩展性很好,但是不是微服务架构,没有服务注册、路由、发现等,很难做到分布式。我画了一张该项目的基础模块包依赖图,用来分析项目依赖关系:

 

还有一个微服务的开源项目,, 封装了很全的微服务中的服务注册、发现、网关,使用netty重写了http、ws、mqtt通信协议,支持protobuffer、messagepack序列化方式,kafka、rabbitmq消息中间件等。

以下是我绘制的包依赖图:

 

我着手搭建的项目将参考上述开源项目,整体架构图我后期会做补充和拆解分析。