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