2019.5.17
虐狗啦,,,
1自我介绍
2看你使用node,还会别的其他的后端语言吗,node和他们什么区别?
node单线程,java多线程
node是单线程处理所有的客户请求,io线程异步处理。java是多线程处理用户请求,一个线程处理一个用户请求
java强在计算。
node强在IO,并且同是js堆栈,对前端比较友好,而恰好在应用复杂后,前端需要来处理controller了,而Java做好接口服务的职责就好。
另一方面,node作为中间层,以异步的特性,也可以一定程度降低异构系统的差异化成本吧。
觉得很重要的一点是nodejs是单线程的,然后通过异步控制;而java是多线程的。
引用如下:
基于Node.js的Web应用程序主要遵循Java Web应用程序架构。主要区别在于客户端请求处理。
客户端请求将由单个线程处理,但在Node.js应用程序的情况下将异步处理。
使用Java,每个客户端请求将由单独的线程同步处理,因此它是多线程的。
3你觉得node适合做什么?
node适合做中间层
4redis和mysql的区别,什么数据存储在redis,什么数据存储在mysql,会话状态/购物车/客户的信息怎么存
会话状态放在redis,客户信息/购物车放在mysql
5两个服务之间的通信怎么做
http, rpc,socket
【rpc和http服务之间的差距,系统多了自然要用rpc,毕竟rpc消耗资源要比http小嘛,谁让人家工作在传输层嘞】
很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单地介绍一下两种形式的C/S架构,先说一下他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹啦!下面来具体说一说RPC服务和HTTP服务。
OSI网络七层模型
在说RPC和HTTP的区别之前,我觉的有必要了解一下OSI的七层网络结构模型(虽然实际应用中基本上都是五层),它可以分为以下几层: (从上到下)
- 第一层:应用层。定义了用于在网络中进行通信和传输数据的接口;
- 第二层:表示层。定义不同的系统中数据的传输格式,编码和解码规范等;
- 第三层:会话层。管理用户的会话,控制用户间逻辑连接的建立和中断;
- 第四层:传输层。管理着