开发10多年了,开发过程中遇到的最大的问题:
①项目的代码越来越多了,越来越复杂了,而客户的需求,你还不得不往里面加入新代码。
②开发了很多项目,每次复用时却只能把代码copy来copy去,然后调试、测试,不是不相信原来的代码,而是原来的代码的生存空间变化了。
③业务需要使用很久以前的模块,但是技术已经经历了很大的升级或者改变(如老版本的系统用到了hibernate1),除非技术升级否则很难集成。
怎么办?
flying框架采用类似微服务的设计解决这些问题。
flying中包含框架和模块,框架负责管理和组织模块,以及请求的分发,模块负责业务的处理。模块是服务的载体。模块之间的服务是可以完全互相调用的。我们把整个系统按照业务的特点分成更加细小的模块,所有的模块都可以共享它里面承载的业务,这些业务具备方便的java接口提供调用;老旧的业务系统与新业务的其他模块部署在一起,无需再升级、调试、测试老旧模块而直接使用,所有的问题圆满了。
框架特征
功能服务化,所有接口可以在前端、后端、跨JVM中访问
开发模块化,应用通过模块组装,模块成为企业的积累,不同的技术在模块下完成整合
共享简单化,从模块、服务等所有单元均可共享,共享的是服务,而不再是代码
大量的可用组建,可扩展性和可维护性
长期愿景:
我们将所有的模块注册到zookeeper中,如是,服务可以被快速的注册、发现和使用(配合zookeeper)。
关键词:
本地模块:部署在当前JVM中的Module
远程模块:部署在其他JVM中的Module
服务:POJO类,负责完成业务处理
框架源码:https://github.com/hifong/flying
Demo应用:https://github.com/hifong/pas
技术QQ群:455852142