1、Nginx是一个轻量级的Web做事器/反向代理做事器和电子邮件(IMAP/POP3)代理做事器,基于类BSD协议发布,特点是内存占用小,并发能力强。
2.JSON是指JavaScript Object Notation,是一种轻量级的文本数据交流格式。
3.Ajax 代表“异步 Javascript 和 XML”,是指一种用于创建交互式 Web 运用程序的 Web 开拓技能。
4.REST:全称是Representational State Transfer,一种架构风格。在MVC中,可以先从浏览器发送AJAX要求,然后做事器接管要求并返回JSON数据给浏览器,末了在浏览器中渲染出界面。
5.Node.js 是一个 JavaScript 运行时。
在传统的Web开拓中,前后端因此浏览器为界进行划分的,将客户端展现给用户的部分称为前端,而运行在做事器上,卖力业务逻辑和数据准备的开拓称为后端。例如jsp开拓,前后端代码存放在同一个代码库中,乃至是同一个项目目录下,页面中也殽杂着后端代码。前后端工程师在开拓时,必须将全体项目导入到开拓工具中,前端先编写HTML完成页面设计,然后后端开拓职员对其进行改写并添加jsp代码,末了将所有代码打包成war包支配在同一台做事器上。
前后端分离不仅是一种开拓模式,也是一种Web开拓中的架构模型。
存储分离:在前后端完备分离的本日,前后端代码处于不同的代码库中,前后端开拓只须要设计API接口和约定好数据,然后前后端并行开拓。前端代码中存在可以进行Mock测试(一种通过构建虚拟测试工具来简化测试环境的方法)的伪后端,可以支持前端独立开拓和测试。后端代码中除了功能实现之外,还可以通过接口测试平台进行接口自测。终极实现前后端合一。
前后端交互:前后端分离架构中,后端只卖力按照约定的数据格式向前端供应可调用的API做事,前后端通过HTTP要求进行交互,前端获取数据后进行页面组装渲染,终极返回给浏览器。
支配分离:前端支配一个node.js做事器,前端HTML页面通过ajax调用后端restuful API接口,利用json数据进行交互。
后端Java工程师:
Java根本、设计模式、jvm事理、spring+springmvc事理及源码、linux、mysql事务隔离与锁机制、mongodb、http/tcp、多线程、分布式架构(dubbo、dubbox、spring cloud)、弹性打算架构、微做事架构(springboot+zookeeper+docker+jenkins)、java性能优化、以及干系项目管理等。
后端:三高(高并发、高可用、高性能)、安全、存储、业务等。
前端工程师:
html5、css3、jquery、angularjs、bootstrap、reactjs、vuejs、webpack、less/sass、gulp、nodejs、Google V8引擎、javascript多线程、模块化、面向方面编程、设计模式、浏览器兼容性、性能优化等。
前端:页面性能、速率、兼容性、用户体验等。
前后端分离开拓流程:
数据接口规范流程:
前后端分离架构示例: