1

image

最近公司的一个小项目尝试使用 .net core作为服务端进行开发,并顺利上线运行了一段时间,整体效果还是比较满意的。这里记录下整体开发过程,用于备忘和分享

背景

项目需求其实很简单,类似于一个简单的审批+简单的任务管理系统,但需要同时有PC端和APP端。

由于项目规模不大,时间也比较宽裕,组内商量下来干脆全采用新技术来踩踩坑。这么一提,大家积极性比较高,既完成了任务同时也能学到新的知识。

前后端大家做了一个分工,前端讨论下来采用React+Ant Design(不是我所关注的),后端我们决定下来用 .net core开发并部署在docker下,这对我们来说还是有一定挑战的,一来是没底,毕竟周边没有一个成熟的项目使用,二来我们也不是很了解。

但经过调研发现,还是有很多成熟案例的,所以最终拍板下来就这样做了。

但从后面的开发经历来看,踩的坑真的不少。

项目架构讨论

这里只说后端部分,我们在讨论后端架构的同时,前端小伙伴已经着手开始搭建框架和设计原型了。

在架构方面其实大家基本观点一致的,虽然项目小,但五脏俱全,前端不仅有PC,还有APP。

对后端来说,首先,项目外网是可以访问的,得需要一个网关;用于提供功能需求的基础服务;用于异构解耦一些数据,得需要一个MQ(后来通过Redis和Job给替代了);用于处理一些定时任务的Job。

在数据库选型方面基本就是Mysql+Redis了。

由于用户只给了我们两台服务器(配置也一般般),我们一直在纠结虚几个容器出来,达到资源利用最大化。

下图是我们这个项目的整体拆分,我主要负责的是服务和网关这块(后端部分)。

image

回顾总结

项目虽然结束了,期间也一直比较忙,项目上线后一直想找个时间把这次项目经历记录下来,一来是为了巩固和积累,二来也是锻炼下自己的写作总结能力。

这次项目大致会分下面几个章节去记录(主要是后端 .net core开发部分)

  1. docker + .net core开发环境搭建
  2. 基于 .net core Restful API+Swagger搭建
  3. .net core下配置、数据库访问等操作实现
  4. .net core下对于Excel的一些操作及使用
  5. .net core下对于附件上传下载的实现
  6. .net core下访问控制层的实现
  7. .net core下验证码及二维码登录的实现
  8. .net core下定时任务的实现
  9. docker的一些常规操作
  10. docker的一些部署配置问题汇总

说在前面

项目的开发环境如下:

  • 操作系统: Win10(docker安装方便)
  • 开发IDE:Visual Studio 2017
  • 其他:Docker for Windows

由于工作的关系不能贴对应的源码,但在写文章时我会重新搭建一个demo出来供大家参考。到最后会贴在文章后面。

如果在记录过程中有不恰当的地方或者有更好的实现方式,欢迎指出和交流。

文章尽量在两周内更新完,若工作比较忙可能会稍有延迟。

最后,也希望大家有一颗学习和总结的心,期待更加完美的自己。


Bug生活2048
144 声望34 粉丝

普通后端开发一枚