由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 做web还是java最方便
相关主题
docker is next big deal关于做网站
哪些 web framework 可以 很容易 scale 到 multiple server 上面?多研究些问题,比如这个网站的建设问题,大家来讨论一下
ashley madison用户数排名Cassandra 比较 Dynamodb
关于bizspark羊毛的点滴被mongodb坑了,求指点!
AWS autoscaling为什么对go这么恋恋不舍
准备上Go了jvm 能变成 vmware 那种东西吗?
问个jvm的题server stop the worldJava 和 .Net 到底哪个更有好一点的前景?
有人用private docker registry吗?我觉得在scala上浪费时间没意思
相关话题的讨论汇总
话题: docker话题: java话题: python话题: jar话题: jvm
进入Programming版参与讨论
1 (共1页)
w********m
发帖数: 1137
1
什么东西打个jar包,
扔到服务器的jvm上就可以用了。
不需要任何的依赖。
php,python,node这些都要部署,
依赖库还有可能需要编译。
太麻烦了。
N*****m
发帖数: 42603
2
jar hell就够头疼了
python, node也可以打包

【在 w********m 的大作中提到】
: 什么东西打个jar包,
: 扔到服务器的jvm上就可以用了。
: 不需要任何的依赖。
: php,python,node这些都要部署,
: 依赖库还有可能需要编译。
: 太麻烦了。

d********g
发帖数: 10550
3
跟我念——Docker:F-r-e-e-B-S-D

【在 w********m 的大作中提到】
: 什么东西打个jar包,
: 扔到服务器的jvm上就可以用了。
: 不需要任何的依赖。
: php,python,node这些都要部署,
: 依赖库还有可能需要编译。
: 太麻烦了。

w********m
发帖数: 1137
4
python ,node 很多人讨论过的,结论是无法打包。
打个比方,python用个virtualenv,然后拷到另外一个机器,肯定是无法运行。

【在 N*****m 的大作中提到】
: jar hell就够头疼了
: python, node也可以打包

d********g
发帖数: 10550
5
感觉你们从来没做过CI?我也是醉了

【在 w********m 的大作中提到】
: python ,node 很多人讨论过的,结论是无法打包。
: 打个比方,python用个virtualenv,然后拷到另外一个机器,肯定是无法运行。

w********m
发帖数: 1137
6
python要用nginx,gunicorn,uwsgi,
这些配置都不是好玩的。
每个机器还不一样。

【在 d********g 的大作中提到】
: 感觉你们从来没做过CI?我也是醉了
d********g
发帖数: 10550
7
丢一个JAR上去难道就不需要数据库了?这些一样是dependency。你说的最多就是单机
玩具服务,听着在用Tomcat裸serve。自己玩玩还行

【在 w********m 的大作中提到】
: python要用nginx,gunicorn,uwsgi,
: 这些配置都不是好玩的。
: 每个机器还不一样。

d********g
发帖数: 10550
8
当然不好玩,所以才需要CI。难道AWS也是靠人工丢一个JAR上去就不管了?这和JAR没
关系,JAR已经是很老的东西了
说了应该看看Docker

【在 w********m 的大作中提到】
: python要用nginx,gunicorn,uwsgi,
: 这些配置都不是好玩的。
: 每个机器还不一样。

w********m
发帖数: 1137
9
我用的是spring boot。
jar里自带tomcat。的确是一个jar就可以了。
docker和jvm都是虚拟机。jvm的overhead小多了。
以前搞node和python,每次都被配置弄死了。CI对这些非编译型语言testing有意义,
部署没有意义。

【在 d********g 的大作中提到】
: 当然不好玩,所以才需要CI。难道AWS也是靠人工丢一个JAR上去就不管了?这和JAR没
: 关系,JAR已经是很老的东西了
: 说了应该看看Docker

d********g
发帖数: 10550
10
而且你这瞎列一气。Gunicorn你如果不考虑scaling的话完全可以像Tomcat、Node.js一
样裸用,不需要其它。uWSGI要配合一个前端比如Nginx,但这个前端基本上都不会在同
一个机器。不过要是你的服务都没有LB的话当我没说

【在 w********m 的大作中提到】
: python要用nginx,gunicorn,uwsgi,
: 这些配置都不是好玩的。
: 每个机器还不一样。

相关主题
准备上Go了关于做网站
问个jvm的题server stop the world多研究些问题,比如这个网站的建设问题,大家来讨论一下
有人用private docker registry吗?Cassandra 比较 Dynamodb
进入Programming版参与讨论
d********g
发帖数: 10550
11
我问的是AWS那么大规模的架构你以为都是一个一个丢JAR上去?不都是靠CI
Docker不是虚拟机你搞错了。JVM的overhead大是不争的事实。另外还有FreeBSD的
Jails也是很好的方案,比VM轻
你搞不定Node和Python是你自己的事。我在Jails里部署JVM应用都没有问题(比如
Elasticsearch),别说Docker这种大路货了
CI你可能没正经用过。非要抠定义是CI+CD,如果你还在手工部署那要么规模不够大要
么太闲

【在 w********m 的大作中提到】
: 我用的是spring boot。
: jar里自带tomcat。的确是一个jar就可以了。
: docker和jvm都是虚拟机。jvm的overhead小多了。
: 以前搞node和python,每次都被配置弄死了。CI对这些非编译型语言testing有意义,
: 部署没有意义。

w********m
发帖数: 1137
12
我被python,node操了好多年了。
nginx做静态,uwsgi做动态应该是python里比较流行的standard operation。
每台单机都配nginx,还是保证系统安全的做法。
nginx不是主要做LB。

【在 d********g 的大作中提到】
: 而且你这瞎列一气。Gunicorn你如果不考虑scaling的话完全可以像Tomcat、Node.js一
: 样裸用,不需要其它。uWSGI要配合一个前端比如Nginx,但这个前端基本上都不会在同
: 一个机器。不过要是你的服务都没有LB的话当我没说

d********g
发帖数: 10550
13
再给你介绍个免费的好东西吧:
https://about.gitlab.com/gitlab-ci/
虽然不是企业级的,但应付你这种需求应该绰绰有余了

【在 w********m 的大作中提到】
: 我用的是spring boot。
: jar里自带tomcat。的确是一个jar就可以了。
: docker和jvm都是虚拟机。jvm的overhead小多了。
: 以前搞node和python,每次都被配置弄死了。CI对这些非编译型语言testing有意义,
: 部署没有意义。

w********m
发帖数: 1137
14
docker有很多问题,业界的看法往negative方向走。
打个比方,你怎么保证一个docker image只跑一个process。

【在 d********g 的大作中提到】
: 我问的是AWS那么大规模的架构你以为都是一个一个丢JAR上去?不都是靠CI
: Docker不是虚拟机你搞错了。JVM的overhead大是不争的事实。另外还有FreeBSD的
: Jails也是很好的方案,比VM轻
: 你搞不定Node和Python是你自己的事。我在Jails里部署JVM应用都没有问题(比如
: Elasticsearch),别说Docker这种大路货了
: CI你可能没正经用过。非要抠定义是CI+CD,如果你还在手工部署那要么规模不够大要
: 么太闲

N*****m
发帖数: 42603
15
怎么无法运行?
aws lambda最早是支持node.js,后来有python和java
不能打包能才怪了

【在 w********m 的大作中提到】
: python ,node 很多人讨论过的,结论是无法打包。
: 打个比方,python用个virtualenv,然后拷到另外一个机器,肯定是无法运行。

d********g
发帖数: 10550
16
所以你这只专注在抠字眼不理解实质。LB是一个概念的玩意儿不是非要指HAProxy,就
和web server / app server这些概念一样不同场景对应的instance不同
要是每台机器配Nginx还不上CI的话真的是自虐了

【在 w********m 的大作中提到】
: 我被python,node操了好多年了。
: nginx做静态,uwsgi做动态应该是python里比较流行的standard operation。
: 每台单机都配nginx,还是保证系统安全的做法。
: nginx不是主要做LB。

N*****m
发帖数: 42603
17
昏,跟nginx有啥关系?

【在 w********m 的大作中提到】
: python要用nginx,gunicorn,uwsgi,
: 这些配置都不是好玩的。
: 每个机器还不一样。

d********g
发帖数: 10550
18
你这又抠字眼了。process怎么定义?我们说的是service,一个Docker跑一个service
。service是一个抽象的概念

【在 w********m 的大作中提到】
: docker有很多问题,业界的看法往negative方向走。
: 打个比方,你怎么保证一个docker image只跑一个process。

w********m
发帖数: 1137
19
你说的是CD吧。
这又回到了ansible。还不是配置吗。

【在 d********g 的大作中提到】
: 所以你这只专注在抠字眼不理解实质。LB是一个概念的玩意儿不是非要指HAProxy,就
: 和web server / app server这些概念一样不同场景对应的instance不同
: 要是每台机器配Nginx还不上CI的话真的是自虐了

d********g
发帖数: 10550
20
好吧你抠字眼能力强,我也和你抠。你做CI的时候假设要做end-to-end test,一个API
server起来一个headless browser自动测试,这时候为了模拟真实环境难道不能CI建
一套一模一样的来测?
做配置的多了,Ansible、Salt一堆。不知道你要讨论啥?

【在 w********m 的大作中提到】
: 你说的是CD吧。
: 这又回到了ansible。还不是配置吗。

相关主题
被mongodb坑了,求指点!Java 和 .Net 到底哪个更有好一点的前景?
为什么对go这么恋恋不舍我觉得在scala上浪费时间没意思
jvm 能变成 vmware 那种东西吗?Go’s path to becoming a Top 10 if not Top 5 language
进入Programming版参与讨论
N*****m
发帖数: 42603
21
感觉你混淆很多概念
nginx是reverse proxy,Java一样要用
gunicorn, uwsgi这些跟tomcat类似,python里面你一样可以不用,用flask这样的就跟
你的spring boot一样,直接运行就行了;node.js就更简单了

【在 w********m 的大作中提到】
: python要用nginx,gunicorn,uwsgi,
: 这些配置都不是好玩的。
: 每个机器还不一样。

d********g
发帖数: 10550
22
如果你说JAR不需要配置我呵呵。JAR的配置有些SB傻到直接写在那个zip包里
你说的简单是个人感觉上的一个container的概念,就是反正我就这个东西,给你就需
要跑起来。这就是Docker的思路,但是Docker能干的事情更多

【在 w********m 的大作中提到】
: 你说的是CD吧。
: 这又回到了ansible。还不是配置吗。

w********m
发帖数: 1137
23
java是我用过的web app,目前依赖最少的。
docker有时想解决问题,反倒引入了更多的问题。如果不是很熟,少用为佳。

【在 d********g 的大作中提到】
: 如果你说JAR不需要配置我呵呵。JAR的配置有些SB傻到直接写在那个zip包里
: 你说的简单是个人感觉上的一个container的概念,就是反正我就这个东西,给你就需
: 要跑起来。这就是Docker的思路,但是Docker能干的事情更多

w********m
发帖数: 1137
24
pip和npm都是local要装的。这就是麻烦。

【在 N*****m 的大作中提到】
: 感觉你混淆很多概念
: nginx是reverse proxy,Java一样要用
: gunicorn, uwsgi这些跟tomcat类似,python里面你一样可以不用,用flask这样的就跟
: 你的spring boot一样,直接运行就行了;node.js就更简单了

d********g
发帖数: 10550
25
npm不就和jvm一样。jvm都可以装为啥npm不行?
注:防止抠字眼——我知道node才和jvm类似是runtime

【在 w********m 的大作中提到】
: pip和npm都是local要装的。这就是麻烦。
N*****m
发帖数: 42603
26
这都是装好了的
跟你要装jre一样,有啥问题?

【在 w********m 的大作中提到】
: pip和npm都是local要装的。这就是麻烦。
w********m
发帖数: 1137
27
这些都是依赖,更新一个包,整个系统崩溃的见的不少。
跟java的打包不是一个概念。

【在 N*****m 的大作中提到】
: 这都是装好了的
: 跟你要装jre一样,有啥问题?

w********m
发帖数: 1137
28
所以java能到处运行是个很大的优点。
上docker或者ansible/chef,这些都要配置,非常麻烦。不应该是程序员该做的。

【在 d********g 的大作中提到】
: npm不就和jvm一样。jvm都可以装为啥npm不行?
: 注:防止抠字眼——我知道node才和jvm类似是runtime

d********g
发帖数: 10550
29
Python的virtualenv和Python 3内置的venv
Node的bower和webpack
没见谁系统崩溃了?Maven更神一点?

【在 w********m 的大作中提到】
: 这些都是依赖,更新一个包,整个系统崩溃的见的不少。
: 跟java的打包不是一个概念。

d********g
发帖数: 10550
30
你可能上了假的程序员课

【在 w********m 的大作中提到】
: 所以java能到处运行是个很大的优点。
: 上docker或者ansible/chef,这些都要配置,非常麻烦。不应该是程序员该做的。

相关主题
有大牛用docker的吗哪些 web framework 可以 很容易 scale 到 multiple server 上面?
想上手deep learning的看过来ashley madison用户数排名
docker is next big deal关于bizspark羊毛的点滴
进入Programming版参与讨论
N*****m
发帖数: 42603
31
zip就行了,比jar还简单

【在 w********m 的大作中提到】
: 这些都是依赖,更新一个包,整个系统崩溃的见的不少。
: 跟java的打包不是一个概念。

N*****m
发帖数: 42603
32
docker也是标配,比jre还常见

【在 w********m 的大作中提到】
: 所以java能到处运行是个很大的优点。
: 上docker或者ansible/chef,这些都要配置,非常麻烦。不应该是程序员该做的。

w********m
发帖数: 1137
33
你要是做python多年就知道了,virtualenv不能水平移植有多麻烦。
不信你把你的venv目录zip下,copy到另一个机器试试。

【在 d********g 的大作中提到】
: Python的virtualenv和Python 3内置的venv
: Node的bower和webpack
: 没见谁系统崩溃了?Maven更神一点?

w********m
发帖数: 1137
34
docker一个image可能就1GB。
jre总共就200M。

【在 N*****m 的大作中提到】
: docker也是标配,比jre还常见
N*****m
发帖数: 42603
35
为啥一定要用大的?
alpine才几MB,而且docker是分层的

【在 w********m 的大作中提到】
: docker一个image可能就1GB。
: jre总共就200M。

w********m
发帖数: 1137
36
试试docker pull mysql

【在 N*****m 的大作中提到】
: 为啥一定要用大的?
: alpine才几MB,而且docker是分层的

N*****m
发帖数: 42603
37
这个跟python有啥关系?java用mysql就不要了?

【在 w********m 的大作中提到】
: 试试docker pull mysql
N*****m
发帖数: 42603
38
用alpine base的https://hub.docker.com/r/wangxian/alpine-mysql/
才50MB

【在 w********m 的大作中提到】
: 试试docker pull mysql
N*****m
发帖数: 42603
39
docker pull python:alpine,才29MB
node:4-alpine,13MB
哪个都比jre小

【在 w********m 的大作中提到】
: 试试docker pull mysql
d********g
发帖数: 10550
40
virtualenv本来就不是这样用的你不知道?CI的build machine一般得做成和prod一样的
关键你这copy来copy去的做法很山寨呀,CI不是你这样做的

【在 w********m 的大作中提到】
: 你要是做python多年就知道了,virtualenv不能水平移植有多麻烦。
: 不信你把你的venv目录zip下,copy到另一个机器试试。

相关主题
关于bizspark羊毛的点滴问个jvm的题server stop the world
AWS autoscaling有人用private docker registry吗?
准备上Go了关于做网站
进入Programming版参与讨论
w********m
发帖数: 1137
41
那就写配置一个一个装呗。
要考虑保持开发机和prod机idempotent。
其实不是难,就是麻烦。

样的

【在 d********g 的大作中提到】
: virtualenv本来就不是这样用的你不知道?CI的build machine一般得做成和prod一样的
: 关键你这copy来copy去的做法很山寨呀,CI不是你这样做的

d********g
发帖数: 10550
42
你可以把JAR看成远古的部署方式,但是现在远远不够了。Docker是更高一级的
container,因为不可能所有东西都是Java服务,不可能把所有服务都搞成JAR,除非你
只局限在Spring。就算是Spring,数据库能JAR吗?显然不行,你还是得配置

【在 w********m 的大作中提到】
: 那就写配置一个一个装呗。
: 要考虑保持开发机和prod机idempotent。
: 其实不是难,就是麻烦。
:
: 样的

d*******r
发帖数: 3299
43
大牛觉得 Ansible、Salt 哪一个好点

API

【在 d********g 的大作中提到】
: 好吧你抠字眼能力强,我也和你抠。你做CI的时候假设要做end-to-end test,一个API
: server起来一个headless browser自动测试,这时候为了模拟真实环境难道不能CI建
: 一套一模一样的来测?
: 做配置的多了,Ansible、Salt一堆。不知道你要讨论啥?

d********g
发帖数: 10550
44
没咋用过Ansible。Fabric和Salt用过一点
这些主要是infra/ops的事,dev不咋管但是要会

【在 d*******r 的大作中提到】
: 大牛觉得 Ansible、Salt 哪一个好点
:
: API

w********m
发帖数: 1137
45
就事论事。Web上面,java还是比其它语言优势大。
第一,轻量级部署。你可以把源码,静态资源,web server都打一个jar包。只要有jvm
的机器都能运行。重要的框架比如elasticsearch,全部只有20多mb。node/python简
单的web app动不动各种包,上GB。
第二,可以rollback。像春卷的这个案例,http://www.mitbbs.com/article_t/Programming/31492193.html 。一个包更新,系统崩溃,只有全部重装。java回到上个jar就行了。
第三,web app大一点的要加search feature。java就绕不过去了。不如一开始就上。
第四,java这几年发展很大。spring 5的async + threading,比node/python/ruby要
强。

【在 d********g 的大作中提到】
: 你可以把JAR看成远古的部署方式,但是现在远远不够了。Docker是更高一级的
: container,因为不可能所有东西都是Java服务,不可能把所有服务都搞成JAR,除非你
: 只局限在Spring。就算是Spring,数据库能JAR吗?显然不行,你还是得配置

d********g
发帖数: 10550
46
“node/python简单的web app动不动各种包,上GB”
你可能用了假Node/Python。看了这句就不用往下浪费时间了

jvm

【在 w********m 的大作中提到】
: 就事论事。Web上面,java还是比其它语言优势大。
: 第一,轻量级部署。你可以把源码,静态资源,web server都打一个jar包。只要有jvm
: 的机器都能运行。重要的框架比如elasticsearch,全部只有20多mb。node/python简
: 单的web app动不动各种包,上GB。
: 第二,可以rollback。像春卷的这个案例,http://www.mitbbs.com/article_t/Programming/31492193.html 。一个包更新,系统崩溃,只有全部重装。java回到上个jar就行了。
: 第三,web app大一点的要加search feature。java就绕不过去了。不如一开始就上。
: 第四,java这几年发展很大。spring 5的async + threading,比node/python/ruby要
: 强。

c*********e
发帖数: 16335
47
tomcat 和 java 的version不match的时候,怪事不要太多。

【在 w********m 的大作中提到】
: 什么东西打个jar包,
: 扔到服务器的jvm上就可以用了。
: 不需要任何的依赖。
: php,python,node这些都要部署,
: 依赖库还有可能需要编译。
: 太麻烦了。

c******o
发帖数: 1277
48
你肯定没做过专门的devops。
基本上我们deploy都是自动的,都做过三种不同的了。
1. 从bare metal AWS instance上做起,用chef所有的东西装上去,全自动,哪用手动
,还不烦死?
2. 在1上做AMI+简单变化, image然后就能autoscaling了,60秒内响应流量,全自动。
3. docker,最大的好处就是dev的时候环境和production的几乎没区别了,打包之后
deploy放心很多。
你那些都是小作坊的办法,大了没法做。
哦,我们这套做了scala/java/php/node/ruby,语言没区别。

jvm

【在 w********m 的大作中提到】
: 就事论事。Web上面,java还是比其它语言优势大。
: 第一,轻量级部署。你可以把源码,静态资源,web server都打一个jar包。只要有jvm
: 的机器都能运行。重要的框架比如elasticsearch,全部只有20多mb。node/python简
: 单的web app动不动各种包,上GB。
: 第二,可以rollback。像春卷的这个案例,http://www.mitbbs.com/article_t/Programming/31492193.html 。一个包更新,系统崩溃,只有全部重装。java回到上个jar就行了。
: 第三,web app大一点的要加search feature。java就绕不过去了。不如一开始就上。
: 第四,java这几年发展很大。spring 5的async + threading,比node/python/ruby要
: 强。

c*********e
发帖数: 16335
49
既然java这么好,uber, airbnb为啥不用它?

jvm

【在 w********m 的大作中提到】
: 就事论事。Web上面,java还是比其它语言优势大。
: 第一,轻量级部署。你可以把源码,静态资源,web server都打一个jar包。只要有jvm
: 的机器都能运行。重要的框架比如elasticsearch,全部只有20多mb。node/python简
: 单的web app动不动各种包,上GB。
: 第二,可以rollback。像春卷的这个案例,http://www.mitbbs.com/article_t/Programming/31492193.html 。一个包更新,系统崩溃,只有全部重装。java回到上个jar就行了。
: 第三,web app大一点的要加search feature。java就绕不过去了。不如一开始就上。
: 第四,java这几年发展很大。spring 5的async + threading,比node/python/ruby要
: 强。

d*******r
发帖数: 3299
50
在用 Java 吧
Uber: Python, Node.js 部分转 Java
AirBnB: Ruby 部分转 java

【在 c*********e 的大作中提到】
: 既然java这么好,uber, airbnb为啥不用它?
:
: jvm

相关主题
多研究些问题,比如这个网站的建设问题,大家来讨论一下为什么对go这么恋恋不舍
Cassandra 比较 Dynamodbjvm 能变成 vmware 那种东西吗?
被mongodb坑了,求指点!Java 和 .Net 到底哪个更有好一点的前景?
进入Programming版参与讨论
g*********e
发帖数: 14401
51
Cpp 也可以打到一个执行文件里
r***y
发帖数: 4379
52
典型的前期起步拉风投的时候用糙快猛.
成事儿了, 需要稳扎稳打做大的时候, 转Java.

【在 d*******r 的大作中提到】
: 在用 Java 吧
: Uber: Python, Node.js 部分转 Java
: AirBnB: Ruby 部分转 java

N*****m
发帖数: 42603
53
这个其实跟楼主的问题没啥关系

【在 d*******r 的大作中提到】
: 在用 Java 吧
: Uber: Python, Node.js 部分转 Java
: AirBnB: Ruby 部分转 java

s*********y
发帖数: 6151
54
How about Twitter

【在 r***y 的大作中提到】
: 典型的前期起步拉风投的时候用糙快猛.
: 成事儿了, 需要稳扎稳打做大的时候, 转Java.

d*******r
发帖数: 3299
55
是的,我那贴不是回答楼主问题

【在 N*****m 的大作中提到】
: 这个其实跟楼主的问题没啥关系
c*********e
发帖数: 16335
56
nginx都不会配置,你还是别玩programming了。

【在 w********m 的大作中提到】
: python要用nginx,gunicorn,uwsgi,
: 这些配置都不是好玩的。
: 每个机器还不一样。

r***y
发帖数: 4379
57
同样套路
Evolution of The Twitter Stack
2006
Ruby on Rails
MySQL
2008+
Ruby on Rails
MySQL (TweetStore, Flock)
Redis, Memcache
2010+
Netty (reverse proxy)
JVM (java, scala)
MySQL (TweetStore, Flock, etc)
Redis, Memcache

【在 s*********y 的大作中提到】
: How about Twitter
1 (共1页)
进入Programming版参与讨论
相关主题
我觉得在scala上浪费时间没意思AWS autoscaling
Go’s path to becoming a Top 10 if not Top 5 language准备上Go了
有大牛用docker的吗问个jvm的题server stop the world
想上手deep learning的看过来有人用private docker registry吗?
docker is next big deal关于做网站
哪些 web framework 可以 很容易 scale 到 multiple server 上面?多研究些问题,比如这个网站的建设问题,大家来讨论一下
ashley madison用户数排名Cassandra 比较 Dynamodb
关于bizspark羊毛的点滴被mongodb坑了,求指点!
相关话题的讨论汇总
话题: docker话题: java话题: python话题: jar话题: jvm