c*y
5 楼
所以servlet和jsp技术基本过时了?
y*u
7 楼
l*r
10 楼
用tomcat/Jetty的话,JSP/Servlet是最根本的技术。其他的目前来看都是瞎扯。
后端不用java的web服务器,有,存在,但是非主流。类似web界的LGBT。
后端不用java的web服务器,有,存在,但是非主流。类似web界的LGBT。
c*f
15 楼
netty, spring
j*r
19 楼
这年头前后没分开写的,都是小网站。这种小网站还被node.js 取代中。
l*r
23 楼
这里是找工版,各位去interview的话,前景堪忧啊。
如果面试的问,你们写java还用servlet+jsp吗?
以下回答,all bets are off:
1. 不用,我们用thrift
2. 我们传一个json到前端,其他不管/不知道
3. 不可能用jsp吧?jsp只能用调用js
唯一靠谱的是angular + react, 但是我把这一类的js库归为LGBT。
至于如何才是正确答案,翻翻我以前的帖子就清楚了。不多说了。
如果面试的问,你们写java还用servlet+jsp吗?
以下回答,all bets are off:
1. 不用,我们用thrift
2. 我们传一个json到前端,其他不管/不知道
3. 不可能用jsp吧?jsp只能用调用js
唯一靠谱的是angular + react, 但是我把这一类的js库归为LGBT。
至于如何才是正确答案,翻翻我以前的帖子就清楚了。不多说了。
m*s
24 楼
根据此楼,可以知道有点技术的同胞码工的下场为什么比什么都不会的三姐都差。
j*r
26 楼
人问后端java service怎么写,你使劲JSP, Servlet的,本来就是牛头不对马嘴。后端
指的是业务层和存储层,最流行的架构仍然是spring和jpa。Servlet无非是over http
的一种实现,还可以有gRPC, Hessian之类的binary protocol. 可以视为业务层和表现
层之间的adapter。无论你是binary还是http,后端的业务层和存储层并不受影响。
【在 l*********r 的大作中提到】
: 这里是找工版,各位去interview的话,前景堪忧啊。
: 如果面试的问,你们写java还用servlet+jsp吗?
: 以下回答,all bets are off:
: 1. 不用,我们用thrift
: 2. 我们传一个json到前端,其他不管/不知道
: 3. 不可能用jsp吧?jsp只能用调用js
: 唯一靠谱的是angular + react, 但是我把这一类的js库归为LGBT。
: 至于如何才是正确答案,翻翻我以前的帖子就清楚了。不多说了。
指的是业务层和存储层,最流行的架构仍然是spring和jpa。Servlet无非是over http
的一种实现,还可以有gRPC, Hessian之类的binary protocol. 可以视为业务层和表现
层之间的adapter。无论你是binary还是http,后端的业务层和存储层并不受影响。
【在 l*********r 的大作中提到】
: 这里是找工版,各位去interview的话,前景堪忧啊。
: 如果面试的问,你们写java还用servlet+jsp吗?
: 以下回答,all bets are off:
: 1. 不用,我们用thrift
: 2. 我们传一个json到前端,其他不管/不知道
: 3. 不可能用jsp吧?jsp只能用调用js
: 唯一靠谱的是angular + react, 但是我把这一类的js库归为LGBT。
: 至于如何才是正确答案,翻翻我以前的帖子就清楚了。不多说了。
q*1
27 楼
后台可以用EJB, 也可以用SPRING 管理一般的java类,transactional 就可以了
q*1
28 楼
后台可以用EJB, 也可以用SPRING 管理一般的java类,transactional 就可以了
i*9
29 楼
你这个靠谱一些。但是除了小作坊谁折腾这些架构?
各个公司的架构都是自己搭的,你能闹明白啥时候该选RPC, 啥时候选servlet才是正经。
http
【在 j**********r 的大作中提到】
: 人问后端java service怎么写,你使劲JSP, Servlet的,本来就是牛头不对马嘴。后端
: 指的是业务层和存储层,最流行的架构仍然是spring和jpa。Servlet无非是over http
: 的一种实现,还可以有gRPC, Hessian之类的binary protocol. 可以视为业务层和表现
: 层之间的adapter。无论你是binary还是http,后端的业务层和存储层并不受影响。
各个公司的架构都是自己搭的,你能闹明白啥时候该选RPC, 啥时候选servlet才是正经。
http
【在 j**********r 的大作中提到】
: 人问后端java service怎么写,你使劲JSP, Servlet的,本来就是牛头不对马嘴。后端
: 指的是业务层和存储层,最流行的架构仍然是spring和jpa。Servlet无非是over http
: 的一种实现,还可以有gRPC, Hessian之类的binary protocol. 可以视为业务层和表现
: 层之间的adapter。无论你是binary还是http,后端的业务层和存储层并不受影响。
l*r
30 楼
好吧,既然讨论到这里了,今天有空,我来解释一下。
首先,楼主的帖子问的是java后端是不是还用Servlet+JSP。那么,回帖之前肯定先得
看帖,对不对。
1. Servlet+JSP,95%以上是用在web server。所以楼主说的后端,是指相对于
javascript和html的前端来说。
2. 为什么Servlet+JSP极少用在在更靠后的后端,比如两个service之间的通讯呢?这
就涉及到RPC和HTTP的比较。更靠后的后端一般用RPC(比如java的RMI和JAX-RPC)。这一
般都要generate一个客户端,一个服务器端,才能通讯。Google protobuf和Facebook
的thrift都是这个意思。那么有人问了,为什么不用更简单的RESTful,比如说,建立在
servlet上的httprequest 和httpresponse呢?
a. RESTful建立在http协议上,http报文里有非常多的overhead(你去数一数http到底
有多少header),这些都是用不着的dead weight,占用带宽。
b. servlet container比如tomcat之类是为处理http协议而写的,里面有很多的不必要
的对http协议的解析步骤,占用cpu。
RPC直接建立在TCP/IP上的socket programming,不需要http协议,可以用最efficient
的方式来传输/处理payload。所以高频后台都用RPC。低频的话无所谓,你干啥都是对
的。
当然现在也有很多RESTful service在后端,比如JSON over http,很方便,但是由于
这些缺陷,一般都是用在非高频的地方。大多数用的是类似RestEasy的library带上一
个比如Jetty之类的server。 用JSP在后端实现的,有,存在,但是属于LGBT。
所以楼主问的是web programming,不是interprocess communication。回答RPC的都错
了。至于什么EJB/Spring之类的,我就不太能理解了。
首先,楼主的帖子问的是java后端是不是还用Servlet+JSP。那么,回帖之前肯定先得
看帖,对不对。
1. Servlet+JSP,95%以上是用在web server。所以楼主说的后端,是指相对于
javascript和html的前端来说。
2. 为什么Servlet+JSP极少用在在更靠后的后端,比如两个service之间的通讯呢?这
就涉及到RPC和HTTP的比较。更靠后的后端一般用RPC(比如java的RMI和JAX-RPC)。这一
般都要generate一个客户端,一个服务器端,才能通讯。Google protobuf和Facebook
的thrift都是这个意思。那么有人问了,为什么不用更简单的RESTful,比如说,建立在
servlet上的httprequest 和httpresponse呢?
a. RESTful建立在http协议上,http报文里有非常多的overhead(你去数一数http到底
有多少header),这些都是用不着的dead weight,占用带宽。
b. servlet container比如tomcat之类是为处理http协议而写的,里面有很多的不必要
的对http协议的解析步骤,占用cpu。
RPC直接建立在TCP/IP上的socket programming,不需要http协议,可以用最efficient
的方式来传输/处理payload。所以高频后台都用RPC。低频的话无所谓,你干啥都是对
的。
当然现在也有很多RESTful service在后端,比如JSON over http,很方便,但是由于
这些缺陷,一般都是用在非高频的地方。大多数用的是类似RestEasy的library带上一
个比如Jetty之类的server。 用JSP在后端实现的,有,存在,但是属于LGBT。
所以楼主问的是web programming,不是interprocess communication。回答RPC的都错
了。至于什么EJB/Spring之类的,我就不太能理解了。
l*4
31 楼
Mark
Facebook
【在 l*********r 的大作中提到】
: 好吧,既然讨论到这里了,今天有空,我来解释一下。
: 首先,楼主的帖子问的是java后端是不是还用Servlet+JSP。那么,回帖之前肯定先得
: 看帖,对不对。
: 1. Servlet+JSP,95%以上是用在web server。所以楼主说的后端,是指相对于
: javascript和html的前端来说。
: 2. 为什么Servlet+JSP极少用在在更靠后的后端,比如两个service之间的通讯呢?这
: 就涉及到RPC和HTTP的比较。更靠后的后端一般用RPC(比如java的RMI和JAX-RPC)。这一
: 般都要generate一个客户端,一个服务器端,才能通讯。Google protobuf和Facebook
: 的thrift都是这个意思。那么有人问了,为什么不用更简单的RESTful,比如说,建立在
: servlet上的httprequest 和httpresponse呢?
【在 l*********r 的大作中提到】
: 好吧,既然讨论到这里了,今天有空,我来解释一下。
: 首先,楼主的帖子问的是java后端是不是还用Servlet+JSP。那么,回帖之前肯定先得
: 看帖,对不对。
: 1. Servlet+JSP,95%以上是用在web server。所以楼主说的后端,是指相对于
: javascript和html的前端来说。
: 2. 为什么Servlet+JSP极少用在在更靠后的后端,比如两个service之间的通讯呢?这
: 就涉及到RPC和HTTP的比较。更靠后的后端一般用RPC(比如java的RMI和JAX-RPC)。这一
: 般都要generate一个客户端,一个服务器端,才能通讯。Google protobuf和Facebook
: 的thrift都是这个意思。那么有人问了,为什么不用更简单的RESTful,比如说,建立在
: servlet上的httprequest 和httpresponse呢?
i*9
32 楼
你说的servlet/JSP 这一层已经越来越少选用Java框架了,主要原因是这一次和HTML/
js结合太紧密,而前端工程师多数不习惯用强类型语言。
从公司的角度来说常常会把UI实现叫做前端team, 包含了你所说的server端JSP。而所
谓后端team就是提供API,有用json 的,有用thrift的,基本取决于公司现有架构和
product owner的喜好。
另外我的个人理解是后端service一般指API层,前端service指Web service,JSP那套
。单说前端才是说的HTML/JS.
这里楼主问的是后端Java service.
Facebook
【在 l*********r 的大作中提到】
: 好吧,既然讨论到这里了,今天有空,我来解释一下。
: 首先,楼主的帖子问的是java后端是不是还用Servlet+JSP。那么,回帖之前肯定先得
: 看帖,对不对。
: 1. Servlet+JSP,95%以上是用在web server。所以楼主说的后端,是指相对于
: javascript和html的前端来说。
: 2. 为什么Servlet+JSP极少用在在更靠后的后端,比如两个service之间的通讯呢?这
: 就涉及到RPC和HTTP的比较。更靠后的后端一般用RPC(比如java的RMI和JAX-RPC)。这一
: 般都要generate一个客户端,一个服务器端,才能通讯。Google protobuf和Facebook
: 的thrift都是这个意思。那么有人问了,为什么不用更简单的RESTful,比如说,建立在
: servlet上的httprequest 和httpresponse呢?
js结合太紧密,而前端工程师多数不习惯用强类型语言。
从公司的角度来说常常会把UI实现叫做前端team, 包含了你所说的server端JSP。而所
谓后端team就是提供API,有用json 的,有用thrift的,基本取决于公司现有架构和
product owner的喜好。
另外我的个人理解是后端service一般指API层,前端service指Web service,JSP那套
。单说前端才是说的HTML/JS.
这里楼主问的是后端Java service.
【在 l*********r 的大作中提到】
: 好吧,既然讨论到这里了,今天有空,我来解释一下。
: 首先,楼主的帖子问的是java后端是不是还用Servlet+JSP。那么,回帖之前肯定先得
: 看帖,对不对。
: 1. Servlet+JSP,95%以上是用在web server。所以楼主说的后端,是指相对于
: javascript和html的前端来说。
: 2. 为什么Servlet+JSP极少用在在更靠后的后端,比如两个service之间的通讯呢?这
: 就涉及到RPC和HTTP的比较。更靠后的后端一般用RPC(比如java的RMI和JAX-RPC)。这一
: 般都要generate一个客户端,一个服务器端,才能通讯。Google protobuf和Facebook
: 的thrift都是这个意思。那么有人问了,为什么不用更简单的RESTful,比如说,建立在
: servlet上的httprequest 和httpresponse呢?
T*e
33 楼
可能楼主的问法容易造成误解。他说后端service, 所以很多人自然会
想到backend 之间rpc的方法如thrift,. 然后他又说jsp, servelet让人
怀疑他其实想问web server和server 或是web client的通讯,所以有人答json
(http 和一些variants).
想到backend 之间rpc的方法如thrift,. 然后他又说jsp, servelet让人
怀疑他其实想问web server和server 或是web client的通讯,所以有人答json
(http 和一些variants).
l*r
34 楼
毫无疑问, Java是web programming的prevailing language。尤其在webserver这一层
,有大量的算法和内存管理,不使用java级别的语言无法控制代码质量。webserver是
所有后端数据的聚合点,有大量的排序,等待,过滤之类的decision logic, 复杂度不
比后端少,前端工程师必须懂java和javascript。有些语言宣称一种语言,而且是
junior highschool level的语言,就可以前后端通吃。千万别信。这些所谓scripting
语言都是以牺牲效率为代价换一些无所谓的syntax sugar。
另外你的理解是错的。楼主说的是servlet+jsp,我已经分析过了,那就是指的
webserver。不会是后端。
除非你们公司用servlet+jsp做数据库层service,而且是用某种script语言run在
servlet container上。
最差情况,用个啥resteasy+httpclient,你都可以放在简历里。这样的公司我劝你赶
快离开。这种怪异的公司应该是架构不太懂技术的后果。
你说的servlet/JSP 这一层已经越来越少选用Java框架了,主要原因是这一次和HTML/
【在 i*****9 的大作中提到】
: 你说的servlet/JSP 这一层已经越来越少选用Java框架了,主要原因是这一次和HTML/
: js结合太紧密,而前端工程师多数不习惯用强类型语言。
: 从公司的角度来说常常会把UI实现叫做前端team, 包含了你所说的server端JSP。而所
: 谓后端team就是提供API,有用json 的,有用thrift的,基本取决于公司现有架构和
: product owner的喜好。
: 另外我的个人理解是后端service一般指API层,前端service指Web service,JSP那套
: 。单说前端才是说的HTML/JS.
: 这里楼主问的是后端Java service.
:
: Facebook
,有大量的算法和内存管理,不使用java级别的语言无法控制代码质量。webserver是
所有后端数据的聚合点,有大量的排序,等待,过滤之类的decision logic, 复杂度不
比后端少,前端工程师必须懂java和javascript。有些语言宣称一种语言,而且是
junior highschool level的语言,就可以前后端通吃。千万别信。这些所谓scripting
语言都是以牺牲效率为代价换一些无所谓的syntax sugar。
另外你的理解是错的。楼主说的是servlet+jsp,我已经分析过了,那就是指的
webserver。不会是后端。
除非你们公司用servlet+jsp做数据库层service,而且是用某种script语言run在
servlet container上。
最差情况,用个啥resteasy+httpclient,你都可以放在简历里。这样的公司我劝你赶
快离开。这种怪异的公司应该是架构不太懂技术的后果。
你说的servlet/JSP 这一层已经越来越少选用Java框架了,主要原因是这一次和HTML/
【在 i*****9 的大作中提到】
: 你说的servlet/JSP 这一层已经越来越少选用Java框架了,主要原因是这一次和HTML/
: js结合太紧密,而前端工程师多数不习惯用强类型语言。
: 从公司的角度来说常常会把UI实现叫做前端team, 包含了你所说的server端JSP。而所
: 谓后端team就是提供API,有用json 的,有用thrift的,基本取决于公司现有架构和
: product owner的喜好。
: 另外我的个人理解是后端service一般指API层,前端service指Web service,JSP那套
: 。单说前端才是说的HTML/JS.
: 这里楼主问的是后端Java service.
:
i*9
35 楼
你估计是在老派的公司,这年头新潮的公司在数据库和Web server之间加出十多层都喜
松平常。
不完全是不懂架构的问题,更主要是设计变动平凡,前端需要草快猛。同时new
graduate基础训练太差,写不来严谨的语言。为了好招人,就只能把逻辑尽可能和UI完
全剥离开,然后降低对前端的技术要求。反正不到3个月产品那边就又有新想法要改设
计了,干嘛注重稳定性。
scripting
【在 l*********r 的大作中提到】
: 毫无疑问, Java是web programming的prevailing language。尤其在webserver这一层
: ,有大量的算法和内存管理,不使用java级别的语言无法控制代码质量。webserver是
: 所有后端数据的聚合点,有大量的排序,等待,过滤之类的decision logic, 复杂度不
: 比后端少,前端工程师必须懂java和javascript。有些语言宣称一种语言,而且是
: junior highschool level的语言,就可以前后端通吃。千万别信。这些所谓scripting
: 语言都是以牺牲效率为代价换一些无所谓的syntax sugar。
: 另外你的理解是错的。楼主说的是servlet+jsp,我已经分析过了,那就是指的
: webserver。不会是后端。
: 除非你们公司用servlet+jsp做数据库层service,而且是用某种script语言run在
: servlet container上。
松平常。
不完全是不懂架构的问题,更主要是设计变动平凡,前端需要草快猛。同时new
graduate基础训练太差,写不来严谨的语言。为了好招人,就只能把逻辑尽可能和UI完
全剥离开,然后降低对前端的技术要求。反正不到3个月产品那边就又有新想法要改设
计了,干嘛注重稳定性。
scripting
【在 l*********r 的大作中提到】
: 毫无疑问, Java是web programming的prevailing language。尤其在webserver这一层
: ,有大量的算法和内存管理,不使用java级别的语言无法控制代码质量。webserver是
: 所有后端数据的聚合点,有大量的排序,等待,过滤之类的decision logic, 复杂度不
: 比后端少,前端工程师必须懂java和javascript。有些语言宣称一种语言,而且是
: junior highschool level的语言,就可以前后端通吃。千万别信。这些所谓scripting
: 语言都是以牺牲效率为代价换一些无所谓的syntax sugar。
: 另外你的理解是错的。楼主说的是servlet+jsp,我已经分析过了,那就是指的
: webserver。不会是后端。
: 除非你们公司用servlet+jsp做数据库层service,而且是用某种script语言run在
: servlet container上。
c*y
36 楼
感谢各位回复。我是lz,半路出家,学的也不是很懂。是我水平不够,问的不好。
想学着写那种Jersey的service,大概就是后端操作数据库,然后也有endpoint给前端
或者client返回json数据的。
搜了一下看到网上有些servelet+JSP的教程。大概是JSP可以直接render出前端页面。
所以就来问一下,是不是还有人这么做,后端写一个service,用servelet还是怎么,
然后前面用JSP。其实我一直不太理解servelet是什么东西,JSP也似懂非懂。还请各位
多多指教
想学着写那种Jersey的service,大概就是后端操作数据库,然后也有endpoint给前端
或者client返回json数据的。
搜了一下看到网上有些servelet+JSP的教程。大概是JSP可以直接render出前端页面。
所以就来问一下,是不是还有人这么做,后端写一个service,用servelet还是怎么,
然后前面用JSP。其实我一直不太理解servelet是什么东西,JSP也似懂非懂。还请各位
多多指教
c*y
37 楼
还有一个问题,大家指的webserver或者web service和后端不同。
我的理解就是网页html css, js那些是前端,后面的都是后端(操作数据库的,业务
逻辑的),你们指的后端又是啥呢?
你们说的webservice,就是类似python flask这样,从后面拿到数据然后render到页面
的?
谢谢!
我的理解就是网页html css, js那些是前端,后面的都是后端(操作数据库的,业务
逻辑的),你们指的后端又是啥呢?
你们说的webservice,就是类似python flask这样,从后面拿到数据然后render到页面
的?
谢谢!
l*r
39 楼
很简单的道理,webserver没有把数据准备好,前端html/css根本没法render。最最基
本的常识。
再重复一遍,webserver把数据准备好,是非常复杂的。
你们那前端招的不是程序员,看着像是充其量懂一点css/html的美工。
我不知道你们公司是什么公司。数据不能搞错,这是最最基本的要求。
另外楼主冒头了,没错吧,这哥们说的就是webserver。
【在 i*****9 的大作中提到】
: 你估计是在老派的公司,这年头新潮的公司在数据库和Web server之间加出十多层都喜
: 松平常。
: 不完全是不懂架构的问题,更主要是设计变动平凡,前端需要草快猛。同时new
: graduate基础训练太差,写不来严谨的语言。为了好招人,就只能把逻辑尽可能和UI完
: 全剥离开,然后降低对前端的技术要求。反正不到3个月产品那边就又有新想法要改设
: 计了,干嘛注重稳定性。
:
: scripting
本的常识。
再重复一遍,webserver把数据准备好,是非常复杂的。
你们那前端招的不是程序员,看着像是充其量懂一点css/html的美工。
我不知道你们公司是什么公司。数据不能搞错,这是最最基本的要求。
另外楼主冒头了,没错吧,这哥们说的就是webserver。
【在 i*****9 的大作中提到】
: 你估计是在老派的公司,这年头新潮的公司在数据库和Web server之间加出十多层都喜
: 松平常。
: 不完全是不懂架构的问题,更主要是设计变动平凡,前端需要草快猛。同时new
: graduate基础训练太差,写不来严谨的语言。为了好招人,就只能把逻辑尽可能和UI完
: 全剥离开,然后降低对前端的技术要求。反正不到3个月产品那边就又有新想法要改设
: 计了,干嘛注重稳定性。
:
: scripting
j*r
40 楼
最主要的原因,是因为前端就像冰山露出来的那一块,水底下深得很,可以有几百上
千服务。没有任何一个人
或者一个组能够知道所有商业逻辑的时候,就必须microservice了。否则连release
schedule都是问题。只有microservice, 才能达到continuous deployment. 任何一个
改动,过了自动测试,就可以发布。从而各个组可以达到相对独立,人员扩展不会减缓
迭代速度。
【在 i*****9 的大作中提到】
: 你估计是在老派的公司,这年头新潮的公司在数据库和Web server之间加出十多层都喜
: 松平常。
: 不完全是不懂架构的问题,更主要是设计变动平凡,前端需要草快猛。同时new
: graduate基础训练太差,写不来严谨的语言。为了好招人,就只能把逻辑尽可能和UI完
: 全剥离开,然后降低对前端的技术要求。反正不到3个月产品那边就又有新想法要改设
: 计了,干嘛注重稳定性。
:
: scripting
千服务。没有任何一个人
或者一个组能够知道所有商业逻辑的时候,就必须microservice了。否则连release
schedule都是问题。只有microservice, 才能达到continuous deployment. 任何一个
改动,过了自动测试,就可以发布。从而各个组可以达到相对独立,人员扩展不会减缓
迭代速度。
【在 i*****9 的大作中提到】
: 你估计是在老派的公司,这年头新潮的公司在数据库和Web server之间加出十多层都喜
: 松平常。
: 不完全是不懂架构的问题,更主要是设计变动平凡,前端需要草快猛。同时new
: graduate基础训练太差,写不来严谨的语言。为了好招人,就只能把逻辑尽可能和UI完
: 全剥离开,然后降低对前端的技术要求。反正不到3个月产品那边就又有新想法要改设
: 计了,干嘛注重稳定性。
:
: scripting
l*r
41 楼
不用谢。要不是我这几天特别清闲,有时间上网力挽狂澜,哥们你就会被误导的直奔
thrift/protobuf而去了。
【在 c*******y 的大作中提到】
: 感谢各位回复。我是lz,半路出家,学的也不是很懂。是我水平不够,问的不好。
: 想学着写那种Jersey的service,大概就是后端操作数据库,然后也有endpoint给前端
: 或者client返回json数据的。
: 搜了一下看到网上有些servelet+JSP的教程。大概是JSP可以直接render出前端页面。
: 所以就来问一下,是不是还有人这么做,后端写一个service,用servelet还是怎么,
: 然后前面用JSP。其实我一直不太理解servelet是什么东西,JSP也似懂非懂。还请各位
: 多多指教
thrift/protobuf而去了。
【在 c*******y 的大作中提到】
: 感谢各位回复。我是lz,半路出家,学的也不是很懂。是我水平不够,问的不好。
: 想学着写那种Jersey的service,大概就是后端操作数据库,然后也有endpoint给前端
: 或者client返回json数据的。
: 搜了一下看到网上有些servelet+JSP的教程。大概是JSP可以直接render出前端页面。
: 所以就来问一下,是不是还有人这么做,后端写一个service,用servelet还是怎么,
: 然后前面用JSP。其实我一直不太理解servelet是什么东西,JSP也似懂非懂。还请各位
: 多多指教
w*z
42 楼
webserver 一般是指 Apache, 或者 ngnix. servlet engine ,(tomcat, jetty 啥的)
是属于 application server. 所以后端应该从 servlet engine 开始。另外,别跟人
提 jsp, 那是十几年前的东西。
【在 c*******y 的大作中提到】
: 感谢各位回复。我是lz,半路出家,学的也不是很懂。是我水平不够,问的不好。
: 想学着写那种Jersey的service,大概就是后端操作数据库,然后也有endpoint给前端
: 或者client返回json数据的。
: 搜了一下看到网上有些servelet+JSP的教程。大概是JSP可以直接render出前端页面。
: 所以就来问一下,是不是还有人这么做,后端写一个service,用servelet还是怎么,
: 然后前面用JSP。其实我一直不太理解servelet是什么东西,JSP也似懂非懂。还请各位
: 多多指教
是属于 application server. 所以后端应该从 servlet engine 开始。另外,别跟人
提 jsp, 那是十几年前的东西。
【在 c*******y 的大作中提到】
: 感谢各位回复。我是lz,半路出家,学的也不是很懂。是我水平不够,问的不好。
: 想学着写那种Jersey的service,大概就是后端操作数据库,然后也有endpoint给前端
: 或者client返回json数据的。
: 搜了一下看到网上有些servelet+JSP的教程。大概是JSP可以直接render出前端页面。
: 所以就来问一下,是不是还有人这么做,后端写一个service,用servelet还是怎么,
: 然后前面用JSP。其实我一直不太理解servelet是什么东西,JSP也似懂非懂。还请各位
: 多多指教
i*9
43 楼
你说的优点都对,我来说几个缺点
performance没有保障,99.9 percentile响应时间基本失控,或者全部fallback到
default value
数据一致性没有保障,各service的内部cache无法对齐,前端结果不一致司空见惯
用户端bug难以tracking, 这主要是由于中间大量的cache层和fallback logic导致无法
通过给定输入复现结果。
文档容易失控,因为重要逻辑不通过函数调用直接展现,而是通过HTTP request。导致
难以通过代码直接反推现有逻辑。这使得文档成为唯一记录复杂业务逻辑的地方。这样
,擅长写文档的人会比擅长写代码的人有更多的visibility. 然后... ,你懂我是什么
意思。
最主要的原因,是因为前端就像冰山露出来的那一块,水底下深得很,可以有几百上
【在 j**********r 的大作中提到】
: 最主要的原因,是因为前端就像冰山露出来的那一块,水底下深得很,可以有几百上
: 千服务。没有任何一个人
: 或者一个组能够知道所有商业逻辑的时候,就必须microservice了。否则连release
: schedule都是问题。只有microservice, 才能达到continuous deployment. 任何一个
: 改动,过了自动测试,就可以发布。从而各个组可以达到相对独立,人员扩展不会减缓
: 迭代速度。
performance没有保障,99.9 percentile响应时间基本失控,或者全部fallback到
default value
数据一致性没有保障,各service的内部cache无法对齐,前端结果不一致司空见惯
用户端bug难以tracking, 这主要是由于中间大量的cache层和fallback logic导致无法
通过给定输入复现结果。
文档容易失控,因为重要逻辑不通过函数调用直接展现,而是通过HTTP request。导致
难以通过代码直接反推现有逻辑。这使得文档成为唯一记录复杂业务逻辑的地方。这样
,擅长写文档的人会比擅长写代码的人有更多的visibility. 然后... ,你懂我是什么
意思。
最主要的原因,是因为前端就像冰山露出来的那一块,水底下深得很,可以有几百上
【在 j**********r 的大作中提到】
: 最主要的原因,是因为前端就像冰山露出来的那一块,水底下深得很,可以有几百上
: 千服务。没有任何一个人
: 或者一个组能够知道所有商业逻辑的时候,就必须microservice了。否则连release
: schedule都是问题。只有microservice, 才能达到continuous deployment. 任何一个
: 改动,过了自动测试,就可以发布。从而各个组可以达到相对独立,人员扩展不会减缓
: 迭代速度。
i*9
44 楼
说你是老派公司吧,社交网络这一块最大的特点就是用户发的东西其实都是垃圾,所以
数据不值钱。
在展现层的短时数据出错可接受,而这个短时可以以小时计。只要数据库的内容不出错
,其他地方错了无所谓,这是很多新架构的基础。
在有些应用场景下,进数据库的东西丢了都无所谓,别多出来就行,这样就诞生了一些
更离谱的架构。
【在 l*********r 的大作中提到】
: 很简单的道理,webserver没有把数据准备好,前端html/css根本没法render。最最基
: 本的常识。
: 再重复一遍,webserver把数据准备好,是非常复杂的。
: 你们那前端招的不是程序员,看着像是充其量懂一点css/html的美工。
: 我不知道你们公司是什么公司。数据不能搞错,这是最最基本的要求。
: 另外楼主冒头了,没错吧,这哥们说的就是webserver。
数据不值钱。
在展现层的短时数据出错可接受,而这个短时可以以小时计。只要数据库的内容不出错
,其他地方错了无所谓,这是很多新架构的基础。
在有些应用场景下,进数据库的东西丢了都无所谓,别多出来就行,这样就诞生了一些
更离谱的架构。
【在 l*********r 的大作中提到】
: 很简单的道理,webserver没有把数据准备好,前端html/css根本没法render。最最基
: 本的常识。
: 再重复一遍,webserver把数据准备好,是非常复杂的。
: 你们那前端招的不是程序员,看着像是充其量懂一点css/html的美工。
: 我不知道你们公司是什么公司。数据不能搞错,这是最最基本的要求。
: 另外楼主冒头了,没错吧,这哥们说的就是webserver。
N*m
50 楼
哎,这你又错了,grpc可以基于http2
Facebook
【在 l*********r 的大作中提到】
: 好吧,既然讨论到这里了,今天有空,我来解释一下。
: 首先,楼主的帖子问的是java后端是不是还用Servlet+JSP。那么,回帖之前肯定先得
: 看帖,对不对。
: 1. Servlet+JSP,95%以上是用在web server。所以楼主说的后端,是指相对于
: javascript和html的前端来说。
: 2. 为什么Servlet+JSP极少用在在更靠后的后端,比如两个service之间的通讯呢?这
: 就涉及到RPC和HTTP的比较。更靠后的后端一般用RPC(比如java的RMI和JAX-RPC)。这一
: 般都要generate一个客户端,一个服务器端,才能通讯。Google protobuf和Facebook
: 的thrift都是这个意思。那么有人问了,为什么不用更简单的RESTful,比如说,建立在
: servlet上的httprequest 和httpresponse呢?
【在 l*********r 的大作中提到】
: 好吧,既然讨论到这里了,今天有空,我来解释一下。
: 首先,楼主的帖子问的是java后端是不是还用Servlet+JSP。那么,回帖之前肯定先得
: 看帖,对不对。
: 1. Servlet+JSP,95%以上是用在web server。所以楼主说的后端,是指相对于
: javascript和html的前端来说。
: 2. 为什么Servlet+JSP极少用在在更靠后的后端,比如两个service之间的通讯呢?这
: 就涉及到RPC和HTTP的比较。更靠后的后端一般用RPC(比如java的RMI和JAX-RPC)。这一
: 般都要generate一个客户端,一个服务器端,才能通讯。Google protobuf和Facebook
: 的thrift都是这个意思。那么有人问了,为什么不用更简单的RESTful,比如说,建立在
: servlet上的httprequest 和httpresponse呢?
l*r
51 楼
Neha sweatie, I can port anything onto http and make it work if you ask, for
you. But it is still LGBT.
另外,社交网站长达一个多小时不能同步?哥们你在写玄幻小说吗?
我推测(如果你知道你自己在说啥的话),你想表达但是无法清晰地说出来的,应该是
eventual consistency的概念。后端在request峰值期间,有些应用允许eventual
consistency。后端工程师的一个主要任务就是缩短系统的latency以及eventual
consistency的gap。一般类似的gap是以秒(或者毫秒)计算的,特别是如果你的系统不
依赖于其他公司的系统(比如social网站)。
你描述的这个新的社交媒体公司,这个gap居然可以到一个多小时以上,你们公司程序
员都是junior high school毕业的?
比如川总发了一个twitter/facebook update/ins,全国人民要一个多小时之后才能看
到?马云双11第一个小时都交易了上百亿,峰值12万交易每秒。
你说的一个多小时才更新的社交媒体是哪家?
【在 N*****m 的大作中提到】
: 哎,这你又错了,grpc可以基于http2
:
: Facebook
you. But it is still LGBT.
另外,社交网站长达一个多小时不能同步?哥们你在写玄幻小说吗?
我推测(如果你知道你自己在说啥的话),你想表达但是无法清晰地说出来的,应该是
eventual consistency的概念。后端在request峰值期间,有些应用允许eventual
consistency。后端工程师的一个主要任务就是缩短系统的latency以及eventual
consistency的gap。一般类似的gap是以秒(或者毫秒)计算的,特别是如果你的系统不
依赖于其他公司的系统(比如social网站)。
你描述的这个新的社交媒体公司,这个gap居然可以到一个多小时以上,你们公司程序
员都是junior high school毕业的?
比如川总发了一个twitter/facebook update/ins,全国人民要一个多小时之后才能看
到?马云双11第一个小时都交易了上百亿,峰值12万交易每秒。
你说的一个多小时才更新的社交媒体是哪家?
【在 N*****m 的大作中提到】
: 哎,这你又错了,grpc可以基于http2
:
相关阅读
Bragging making 40K year(ZT) (转载)国家实验室的工资能negotiate吗? (转载)they asked me for an onsite, but then never get back to meApple, Information Security Engineer新手问个OOD的问题Good chance for fresh graduate提交工作申请时要SSN,能给吗?OPT 延期申请denial 求救!H1B 一个多礼拜了status还是acceptance正常吗?问个奇怪的事明后天出结果,希望拿到OFFER(黄过一个了)merge k个数组怎样的方法好?默剧是不是一种研究成果?Hiring Manager觉得你overquailifed了,该怎么应答?周二面试,包子已发完。。。谢谢女生ONSITE的HANDBAG问题如果OPT启动时间到了,卡还没寄过来,能不能入职?能够上市的bio背景公司是个什么水平? (转载)请问公司发offer的时候待遇会比招聘广告中说的低吗???careerup 150的一道经典题