技术筹备--第2篇

用日志记录“开源软件”的诞生

进入链接,点亮星标,反对一下

加微信与开发者交换(请注明赤龙ERP) kzca2000

码云:https://gitee.com/redragon/redragon-erp

GitHub:https://github.com/redragon1985/redragon-erp

依据场景抉择技术

遇到技术选型,常见的做法往往是抉择最前沿的,最风行的,或者抉择最新的。对于这种形式我只能说局部批准,技术选型我认为最重要的是要适宜产品的应用场景。再好的技术,没有遇到施展它劣势的情景,也是白搭。

那么来看看我要开发的这款开源ERP,他的特点:

软件是开源的,面对泛滥的开发者和使用者,肯定要抉择学习成本低、成熟度高、遍及度高,并且尽量应用起码的第三方技术或框架实现所需性能。

软件是收费的,那么就不能思考免费的中间件或技术。

ERP软件是企业级管理系统,它最大的特点是业务逻辑简单,性能复用较多、并发不大、服务层互相调用频繁、数据窃密水平要求较高。所以重点思考的是MVC框架的灵活性、ORM的标准化、安全性框架以及缓存技术。

零碎尽管是2B的,但思考到企业需要的多样性,要思考到丰盛的可扩展性,尤其是对微服务的反对。

我抉择了那些技术

SpringBoot2

(1)成熟度高、遍及度高

(2)SpringMVC框架对Rest反对

(3)配置简化

(4)丰盛高效的第三方集成

(5)SpringCloud微服务扩大

MySQL

(1)收费

(2)全文索引

(3)反对读写拆散、集群配置

Hibernate5

(1)最残缺的ORM框架

(2)屏蔽底层数据库

(3)与SpringBoot JPA无缝整合

(4)罕用DAO办法的简化,晋升开发效率

Redis

(1)缓存速度快、单线程

(2)长久化

(3)反对分布式

Cas+Shiro

(1)平安的单点登录协定

(2)简略的安全性框架配置

技术选型的补充阐明

能够看到,我并没有抉择很多的第三方技术或框架,因为我不想减少一个开源软件的使用者或开发者的学习老本和运维老本。很多时候技术用的越多,零碎开发的越大,你要面临的问题就越多,甚至在很多时候成指数增长。总之就是用起码的技术做更多的事!

后记

曾经写到23:00了,明天写这么多吧。下一篇说说开源协定的抉择,以及抉择一个开源协定后要做哪些工作。