通用中小企业架构设计思路
在上一篇博客中( 浅谈微服务架构与.Net Core )我们谈到微服务架构与.Net Core,大体分析了下微服务架构的一些优势,在这边博客中,将谈谈架构设计的一些理念。 首先,代码要清晰明了,层次分明,模块间耦合度要尽量降低,代码并不是要越复杂越好,可能有人认为,代码写得越复杂、算法用的越高级,让别人越看不懂就越牛X,我认为恰恰相反,代码越是简单就能实现的就尽量做到简单,能用几行代码能解决的问题何必要写个牛X的算法来实现呢? 其次,能做到通用的模块需要单独提炼出来,不要在其他业务逻辑中混合实现,不利于代码的移植,以下简单说说常用的一些模块或逻辑需要特别注意的; 1、底层数据访问需要单独写,当我们数据库发生变化,比如我们这个项目用的是SqlServer,下个项目用的是MySQL,要做到很轻易的切换; 2、缓存管理需要独立出来,通常,我们开发都会用到缓存技术,能把缓存用好,系统性能也会得到大幅度提升,简单举个例子,比如我们开发一个系统,用的是MemoryCache,但是系统上线运行一段时间后,并发量增大,本机缓存已经不能满足需求,我们需要对系统进行集群,减轻服务器压力,此时需要用Redis来管理缓存,那么此时,我们需要做到很容易的从MemoryCache切换到Redis来做缓存管理,我们只需要改一下配置文件就能达到预期效果而不必在用到缓存的地方一个一个的去改再编译上线。 3