.net core项目实战之回顾总结

news/2024/6/17 21:10:54 标签: 后端, 运维, 前端

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出来供大家参考。到最后会贴在文章后面。

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

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

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


http://www.niftyadmin.cn/n/1270924.html

相关文章

android怎么做背景滚动,android – 如何在Open GL中创建连续重复滚动的背景图像?...

如果您设置了glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT)(我认为这是默认设置),您只需绘制一个全屏四边形并以小步长递增s纹理坐标(如果您需要,它也可以垂直工作).大于1.0的值将包裹在纹理的左侧,不需要额外的任何内容.并且,不需要两个绘制调用.你没有说你是否…

牛客练习赛13 乌龟跑步(DP)

链接:https://www.nowcoder.com/acm/contest/70/E来源:牛客网 题目描述 有一只乌龟,初始在0的位置向右跑。这只乌龟会依次接到一串指令,指令T表示向后转,指令F表示向前移动一个单位。乌龟不能忽视任何指令。现在我们要…

Android开发连连看的研发背景,android开发—连连看开发技巧(12)

android连连看开发技巧(12)判断两个方块是否可以相连在上一篇文章《android开发—连连看开发技巧(11)》我们讲解了如何获取触.碰.点的方块,那么当获取了触.碰.点之后我们要判断两个方块是否可以相连,下面来为大家讲解。判断两个方块是否可以相连是本程序…

vue2.0父子组件及非父子组件间实现通信

title: vue2.0组件间通信 date: 2017年8月16日 17:57:06 tags: css categories: 教程 author: "JiaWei" vue2.0父子组件及非父子组件间实现通信 1. 父组件与子组件通信 父组件 子组件通过props来接收数据: 格式1: props: [childMsg] 格式2 : props: { chi…

HarmonyOS分布式教育,HarmonyOS Connect伙伴峰会,教育展品全新亮相

5月18日在上海举办的HarmonyOS Connect伙伴峰会宣布了全场景硬件生态品牌升级计划,将通过做好产品、卖好产品、运营好产品三个方向帮助商业伙伴打通生态全链路,获得全新价值,助力商业成功。本次峰会设置了包括智慧家居、智慧出行、智慧教育、…

vue的路由设置小结

vue的路由设置小结 // 异步路由的编写示例。其中针对component字段进行懒加载及分块处理,提升首屏加载速度的同时,也可以手动控制让某些页面合并到一个单独的js文件中,而不是每个页面都是一个js。//完整解释请参考官方文档:vue-ro…

android dxt1 support,图片纹理压缩方案 - osc_3d642bby的个人空间 - OSCHINA - 中文开源技术交流社区...

RGB Compressed DXT1压缩无符号整型整型RGB纹理。32KB (4 bits per pixel)Windows, Linux, macOS, PS4, XBox One, Android (Nvidia Tegra and Intel Bay Trail), WebGLNote: With linear rendering on web browser that doesn’t support sRGB DXT, textures are uncompressed…

git仓库搭建及客户端使用

这里只在linux上做git仓库搭建 这里只在linux上做git仓库搭建 这里只在linux上做git仓库搭建 linux 服务器上安装及配置git 一、安装git yum install -y git (centos) apt-get install -y git (ubuntu) 二 检测git用户是否存在,不存在创建  检测:&…