介绍:我们正在重新设计我们的应用程序架构,我们即将制定导入设计决策.背景和依赖关系:所有数据都存储在分布式MySQL数据库中.我们有两个访问数据库的系统 – 一个执行常规任务,用Java和我们的Web应用程序编程 – 目...
![](https://oss.womengda.net/imgfile/2310/1ER060Q59320-3W27.jpg)
介绍:
我们正在重新设计我们的应用程序架构,我们即将制定导入设计决策.
背景和依赖关系:所有数据都存储在分布式MySQL数据库中.我们有两个访问数据库的系统 – 一个执行常规任务,用Java和我们的Web应用程序编程 – 目前是Apache2,PHP(Zend1框架)和JavaScript(jQuery).
Java应用程序将不会重新设计,数据库应保留为MySQL.
Web应用程序应该更改为REST API和通过JSON进行通信的现代,快速,实时的AngularJS前端.
由于我们已经在PHP中编写了所有后端功能,因此坚持使用PHP用于REST API可能是有意义的 – 但如果它使未来的开发更容易,更快速和面向未来,那么这不是必须的.
Java应用程序和Web应用程序共享一些MySQL查询.
问题:
>共享MySQL查询:我们应该将它们实现为a)MySQL过程/视图,b)分别用Java和PHP实现,c)独立服务(例如另一个REST API)
>我们应该坚持使用Zend1还是使用更合适的PHP REST框架(例如Slim或Restler或其他东西)?
>我们应该坚持使用Apache2 / PHP作为REST API(也许使用Node.js)?
谢谢!
解决方法:
这篇文章可能是为了开始一场火焰战……但……
Never rewrite code from scratch.拿走你拥有的东西,重构它,在它上面创造现代的宁静服务.
将其作为缓慢迁移,以类似的方式一次重写一页.
你会有更少的错误,它会花费更少,完全避免second-system syndrome
本文标题为:应用程序架构MySQL / PHP / Java / AngularJS
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
- 一文搞懂Java中的日期类 2023-05-25
- 深入理解Java动态代理与静态代理 2023-01-17
- Java中classpath讲解及使用方式 2023-08-11
- Java利用Dijkstra算法求解拓扑关系最短路径 2023-03-07
- Spring Cloud oauth2 认证服务搭建过程示例 2023-02-05
- Spring AOP事务管理的示例详解 2023-01-18
- java – 如何找到执行的SQL查询没有返回任何内容? 2023-11-01
- 一文搞懂Java正则表达式的使用 2022-09-03
- 七段小代码解决Java程序常见的崩溃场景 2023-01-03
- Java线性表的顺序表示及实现 2023-02-11