说明:Nginx;JSON;Ajax;RESTful Web 服务;Node.js。
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多线程、模块化、面向方面编程、设计模式、浏览器兼容性、性能优化等。
前端:页面性能、速度、兼容性、用户体验等。
前后端分离研发流程:
数据接口规范流程:
前后端分离架构示例:
|