我们团队为什么要使用php和java的混搭架构
刚开始接触架构如果有不正确的欢迎斧正~
具体实现
- php
- java
- 中间件resteasy
描述
此种架构方式采用php做前端以及简单的逻辑操作,而数据库操作直接交给java来做。而resteasy充当中间件将php和java结合起来
java和php的特点
PHP和Java,这和两者的开源社区都很活跃,拥有庞大的生态圈,在遇到问题的时候可以拿出快速的解决方案,php不行就采用java,而且java拥有jar这种神奇的东西,操作其他组件岂不是更方便了。
对PHP来说,PHP灵活,上手快,易修改,发布快,缺点是容易犯错(常见如拼写错误、SQL注入、上传执行等)、执行效率不高、缺乏全局缓存。
对于java来说,Java的优点则是稳定可靠、运行效率高(尤其是JIT的出现之后差距更大了)、不容易犯错(强类型、预编译、必须拦截异常等等),缺点是开发和发布的效率相对较低。
为什么团队采用这种混搭方式
团队组建完成需要搭建一套存储数据很大的管理系统,要求系统高可用,给的时间很短,而且后期会持续对系统增加和修改功能,这就直接不考虑用java来写了, 初始阶段考虑用php做这套系统,总所周知PHP开发周期是比较短,但是又考虑到系统中用的组件太多,php也找不到好的解决方案。 又考虑到开发时间给的不是太多,php和java都不能同时满足我们的需求(团队后端只有php和java),于是我们采用php和java混搭的方案。
后面带来好处太多了。简单的说一下:
- php来做前端发布快,不用像java一样修改一次代码就重启一下tomcat,那岂不是太慢了~
- java中的jar提供很多组件解决方案而php这种方案在网上很少,有些都行不通的。~~
- java只做数据和组件操作,php做了绝大多数的事情,而view层和controller层修改频繁,这样开发效率大大提升
- java来做缓存就不用多说了吧~~
总结
php开发快,而java稳定有更多的解决方案,但是为了以后的维护,尽可能不在java写多余的代码,这样只用修改php端的代码就可以解决问题了。——
我们团队为什么要使用php和java的混搭架构相关推荐
- springboot毕设项目团队项目日程管理系统617qh(java+VUE+Mybatis+Maven+Mysql)
springboot毕设项目团队项目日程管理系统617qh(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + ...
- 初级Java开发与架构之间的差距不仅仅是开发时间
转载自 初级Java开发与架构之间的差距不仅仅是开发时间 一.基础篇 JVM JVM内存结构 堆.栈.方法区.直接内存.堆和栈区别 Java内存模型 内存可见性.重排序.顺序一致性.volatile ...
- java调用webservice_笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解...
原标题:笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解 Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构.集群架构.分布式架构.SOA架构和微服务架构.下 ...
- Java 微服务架构
Java 微服务架构是一个分布式系统,由多个小型.松耦合的服务组成,每个服务运行在独立的进程中,并通过轻量级的协议进行通信.微服务架构的优势在于提高了应用的可伸缩性.灵活性和可维护性,同时还可以使团队 ...
- 01.java后台三层架构
学而止步之java后台三层架构是干嘛呢? 1.后台三层架构基础知识梳理 后台三层架构的知识梳理 所谓的三层开发就是将整个业务应用划分为表现层,业务逻辑层,数据访问层,这样有利于系统的开发,维护,部署和 ...
- 视频:体系化学习 Java 微服务架构
Web应用,最常见的研发语言是Java和PHP. 后端服务,最常见的研发语言是Java和C/C++. 大数据,最常见的研发语言是Java和Python. 可以说,Java是现阶段中国互联网公司中,覆盖 ...
- java微服务架构实践--微信
微服务的理念与腾讯一直倡导的"大系统小做"有很多相通之处,本文将分享微信后台架构的服务发现.通信机制.集群管理等基础能力与其上层服务划分原则.代码管理规则等. 背景介绍首先,我们需 ...
- 一文看懂Java微服务架构,WEB2.0,垂直架构,分布式架构,微服务架构
Java微服务架构 目录: 了解开发环境&生成环境 WEB1.0 & WEB2.0 垂直架构 分布式架构 微服务架构 1.了解开发环境&生产环境 1.1 开发环境 平时在写代码 ...
- java 学习写架构必会几大技术点
java 学习写架构必会几大技术点 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annoc ...
最新文章
- RSA加密算法破解及原理
- 人体关键点颜色和预处理
- SilverLight4:在MVVM架构下实现模式窗口
- 分布式的事务该怎么做?
- 【软件安装】sublime安装方法
- Ajax系统学习总结
- 探索 ASP.NET Futures (Part 2 - Search Enabled)
- Windows安装zookeeper和kafka
- CleanWipe:无需密码彻底卸载Symantec(赛门铁克)
- idea安装插件方式及个人使用插件
- 计算机win7如何加快开机速度,Win7系统如何提高开机速度?提高开机速度的三种方法步骤...
- SqlServer 远程主机强迫关闭了一个现有的连接
- 目标检测---IoU计算公式
- 宁皓网 react native 视频教程 ECMAScript6
- jquery 立体走马灯_jquery实现跑马灯效果(一)
- 火狐浏览器不兼容event问题
- Kaggle教程 机器学习中级4 Pipeline
- SWF文件格式说明书--SWF文件头
- 机器学习推导合集02-SVM简明入门1-硬边界SVM的建模过程
- RPM包安装或者安装源码包
热门文章
- STM32串口通信详解(嵌入式学习)
- [Leetcode] 650. 2 Keys Keyboard 解题报告
- 不论iPhone还是安卓,都可以这样恢复手机误删的文件
- 校级电子签章平台怎么建?“北邮样本”给出答案
- 弘辽科技:拼多多拼单价格怎么算?拼单规则是什么?
- 店宝宝:透视拼多多财报 “拼”时代意味着什么?
- 基于quicker平台的便携软件
- c语言找出4个整数中的最大值和最小值,如何用C语言的四个if语句从四个整数找到最大值和最小值...
- MTK6572 平台GSENSOR兼容
- 大学两年和打王者的五年我学会了什么?