前言
昨天有篇文章在讨论webform的设计思路,我已经四五年不用webform了,虽然它也提供了HttpModule和httphandle来处理请求,提供了一般处理程序ashx来简化处理流程,但依然会想起它的form runat=server,想起注册客户端脚本,想起那堆服务器控件,还有著名的GridView72变。但即使不用服务器控件,它也能提供很强大的功能。
后来微软提供了另一套解决方案asp.net mvc 。其实刚开始我并不习惯,一是因为思路转变,新知识需要学习。二是因为当时做报表用rdlc,但mvc不支持。rdlc对于数据的处理很强大,但浏览器兼容性太差,用于winform客户端效果还是很棒的。mvc用熟后,webform再也没用过了。我没再用过的东西多了,但不否认它们依旧强大,也足够支撑你庞大的业务。
C/S端的话,winform和wpf依旧应该很流行。这块我做的少,理念上大同小异。
无意浪费时间去争论谁好谁坏,能为你挣钱的都是好框架。闲话少说,书归正传。今天我根据以往接触或未来想要进修学习的业务规模,来总结下对应的技术栈,来为未来准备,面向未来思考。
第一种类型企业官网
性质:访问量少,网页功能相当简单。一般为首页,公司介绍,产品介绍,联系我们等。
对应解决方案:
这类可推荐一些来源CMS,无需关心后台,设计好页面,只修改前端页面就行。
如果打算自己开发,见几个表存取下完事。不要想太复杂的架构。简单来,快速交付。
数据库:可采用access,SQLite或sqlserver,mysql都行。
.net需要储备:了解ado.net,dapper,泛型,反射等。了解数据库操作常用语句。
第二种类型流量内容网站
整个网站属于新闻类型,有较多内容分类,日均访问量一万以下。每小时平均一千量。相对于iis每秒成百上千处理数,这点量丝毫不成压力。能日均一万访问量,那说明这个站在小圈子内有很大名气了。
对应解决方案:
仍然推荐开源或自研的cms,一般方案首页和分类定时静态化或启用缓存,明细页直读数据库或经过缓存。
数据库:sqlserver,mysql,mongodb
.net储备:
定时任务如hangfire,quartz.net,
Cache系列(页面缓存,httpruntime缓存等),
安装windows服务topshelf
常用的设计模式等。
数据库增量备份还原与全量备份还原。数据库索引优化。
uv和pv等了解。
搜索引擎优化知识必要了解。
第三种类型小流量业务管理系统
小流量业务管理系统的特点是业务较复杂,但用的人数可能控制在几人几十人。但业务单据一天天下来也非常多。有很多公司每年底或年初会清数据,汇集到数据仓库,新的一年新数据。我之前待过的一家集团超市公司有几个分店,业务系统基于powerbuilder开发,用的是db2数据库,每天营业额数据也挺大的。每天十点有日结,月底有月结。
对应解决方案:
这里一般是购买商业软件或者基于产品二次开发了,完全从头开发需要投入很多时间和费用。
数据库:sqlserver,mysql,postgresql
.net储备:
数据库存储过程,函数,优化,关联表等。
数据库性能重中之重。
数据库每几分钟增量备份,一周全备份。读 写分离也可以在这时介入。
Redis可以考虑引入。
设计模式有需要的场景。
在计算报表和一些情况下,多线程,并行处理数据也会考虑引入。
Dapper,EF开始了用武之地,干起来!
依赖注入,aop 可以考虑引入。
可考虑引入前端vue,element。
以上考虑部分,根据业务规模和使用频数来决定是否引入。业务量太小时,引入多余架构反而有些笨重。
