开发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

关于flying框架的更多相关文章

  1. 请求服务(RequestService)

    一个module中的web组件,负责将Service的结果按照适当的规范输出给前端.格式:http://server/moduleID/param0/param1/paramN/p.TYPE格式上包含 ...

  2. PDF 生成插件 flying saucer 和 iText

    最近的项目中遇到了需求,用户在页面点击下载,将页面以PDF格式下载完成供用户浏览,所以上网找了下实现方案. 在Java世界,要想生成PDF,方案不少,所以简单做一个小结吧. 在此之前,先来勾画一下我心 ...

  3. WhyGL:一套学习OpenGL的框架,及翻写Nehe的OpenGL教程

    最近在重学OpenGL,之所以说重学是因为上次接触OpenGL还是在学校里,工作之后就一直在搞D3D,一转眼已经毕业6年了.OpenGL这门手艺早就完全荒废了,现在只能是重学.学习程序最有效的办法是动 ...

  4. A Benchmark Comparsion of Monocular Visual-Inertial Odometry Algorithms for Flying Robots论文笔记

    摘要: 本文主要比较单目VIO的算法在飞行机器人上运行的性能,测试使用统一数据集为EuRoC.其中评价指标为:姿态估计精度.每帧处理时间以及CPU和内存负载使用率,同时还有RMSE(运行轨迹与真实轨迹 ...

  5. 一系列令人敬畏的.NET核心库,工具,框架和软件

    内容 一般 框架,库和工具 API 应用框架 应用模板 身份验证和授权 Blockchain 博特 构建自动化 捆绑和缩小 高速缓存 CMS 代码分析和指标 压缩 编译器,管道工和语言 加密 数据库 ...

  6. 16 . PythonWeb框架之Django

    Web框架简介 Web开发是Python语言应用领域的重要部分,也是目前最主要的Web开发语言之一,在其二十多年的历史中出现了数十种Web框架,比如Django.Tornado.Flask.Twist ...

  7. 15 . PythonWeb框架本质

    PythonWeb框架的本质 简单描述就是:浏览器通过你输入的网址给你的socket服务端发送请求,服务端接受到请求给其回复一个对应的html页面,这就是web项目.所有的Web应用本质上就是一个so ...

  8. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  9. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

随机推荐

  1. Linux常用命令之文件处理命令

    注:由于Linux操作系统有些目录不能轻易操作,特此建议大家在家目录home,或root.tmp目录下练习命令,以免带来不必要的损失 一.查询目录中的内容:ls 命令格式:ls [选项] [文件或目录 ...

  2. 调出js控制台可以在浏览器地址栏输入about:blank

    调出js控制台可以在浏览器地址栏输入about:blank,如果不输入about:blank,直接 打开一个新的页面,有可能输出的结果不准确.也就是说变量有可能被其他的影响到, 造成结果不准确.

  3. IdentityServer Topics(5)- 使用第三方登录

    ASP.NET Core有一个灵活的方式来处理外部认证. 这包括几个步骤. 如果您使用的是ASP.NET Identity,则许多底层技术细节对您而言都是隐藏的. 建议您还阅读Microsoft文档并 ...

  4. ogg-oracle to sqlserver

    环境: source:  54     Centos7  oracle12.2           ogg12.3 target  :    52 Windows sqlserver2012      ...

  5. Angular整合zTree

    1 前提准备 1.1 新建一个angular4项目 参考博文:点击前往 1.2 去zTree官网下载zTree zTree官网:点击前往 三少使用的版本:点击前往 2 编程步骤 从打印出zTree对象 ...

  6. 高可用高性能分布式文件系统FastDFS实践Java程序

    在前篇 高可用高性能分布式文件系统FastDFS进阶keepalived+nginx对多tracker进行高可用热备 中已介绍搭建高可用的分布式文件系统架构. 那怎么在程序中调用,其实网上有很多栗子, ...

  7. svn过滤文件配置

    ---恢复内容开始--- 在 在输入框中输入这个即可..... .classpath .project .springBeans *.class *.o *.lo *.la *.al .libs *. ...

  8. [国嵌攻略][068][tftp网络协议实现]

    IP协议结构 UDP协议结构 TFTP协议结构 TFTP端口 读写请求端口: 69 其他请求端口:1024~65535 主程序 /*********************************** ...

  9. IntelliJ IDEA 2017.3下载与安装

    大约在2017年暑假的时候知道了IntelliJ IDEA,但是那个时候一心认为有Eclipse就足够用了,然而今天在网上冲浪的时候发现,IntelliJ IDEA是java语言开发的集成环境,这款开 ...

  10. tomcat更改端口号

    apache-tomcat-8文件下的conf文件下的server.xml文件打开将    <Connector port="8080" protocol="HTT ...