1
KarlChen2015 OP 这里不需要考虑主备或者负载均衡问题 因为前面的服务器不管怎么买,都是一整套系统,会基于此配置部署 2~3 套做负载均衡
|
2
KarlChen2015 OP 在某云上 一台 8C16g 的价格=2C4g * 4 所以硬件成本几乎一样
|
3
duhongle 2020-09-25 11:40:49 +08:00
建议多台低配都服务器,,最起码 I/O 能提升不少。。。
|
4
cccp2020 2020-09-25 11:43:02 +08:00
多态吧,起码能容错
|
5
linvaux 2020-09-25 11:43:30 +08:00 via iPhone
买一台的话,一点都不“分布式”
|
6
zhenjiangidc 2020-09-25 11:46:00 +08:00
不要把鸡蛋放一个篮子里面,
|
7
KarlChen2015 OP @duhongle I/O 多台其实是不升反降了 aws 的 IO 是根据硬盘容量计算的 单一硬盘越大 IO 越大
|
8
coderxy 2020-09-25 11:53:00 +08:00
单台你就没法保证高可用。
|
9
shakoon 2020-09-25 12:01:26 +08:00
我觉得没必要。云服务器底层都是物理机的集群,各种硬件资源都是分散的,硬盘也是接的存储,所以单个机器和多个机器不存在明显的性能差异。除非你的应用本身是不支持多线程的,那分几个机器做集群才能提高总体效率。另外,即便性能相同,集群还有一个优势就是高可用性比单机要高得多,对于重要业务来说连续性是远比性能重要的。
|
10
reus 2020-09-25 12:16:11 +08:00
测试一下不就知道了
|
11
KarlChen2015 OP @KarlChen2015 注意是 4 个应用,是部署在 1 台高配机还是分开部署在 4 台机的问题
|
12
ericgui 2020-09-25 12:45:08 +08:00
我以为分布式就是因为一台机器不够用了才搞分布式。。。。。。。。
|
13
opengps 2020-09-25 12:54:04 +08:00 via Android
如果你是分布式弹性架构,那么放心的买多台
|
14
wangyanrui 2020-09-25 13:13:21 +08:00 via Android
看性能损耗在哪里,才能明确到底是买什么类型
空谈没答案 |
15
xuanbg 2020-09-25 13:19:20 +08:00
多台√
单台× |
16
mawenjian 2020-09-25 13:29:47 +08:00 via Android
现在稍微重要点的业务都得双机热备吧,如果连灾备都不用考虑,我更怀疑是否有必要用“分布式架构”。
|
17
ArJun 2020-09-25 14:05:37 +08:00
肯定优先多台吧,kvm 虚拟化下高性能不见得优势大很多
|
18
duhongle 2020-09-25 14:20:00 +08:00
@KarlChen2015 AWS 中的硬盘我不知道什么情况。。。阿里云上,SSD 云盘 买的越大(数据磁盘大于 60G )性能越好。。。但是高效云盘中,我们测试 Kafka 集群。。。多台部署 ECS 使用高效云盘,处理能力提升还是比价明显的。。
|
19
Lockeysama 2020-09-25 14:54:19 +08:00
多台吧,至少挂掉一台的时候,不至于全部服务不可用(服务有主备模式之类的就更香了)
|
20
whileFalse 2020-09-25 16:19:36 +08:00
每个服务只跑一个实例?
|
21
chenzheyu 2020-09-25 17:17:51 +08:00
数据库之类的一定要大,性能牛逼的。像 nginx 跟 php-fpm 之类的随意拓展的无所谓啊
|
22
misaka19000 2020-09-25 17:29:06 +08:00
肯定多台
|
23
brendanliu 2020-09-25 17:38:47 +08:00
分布式建议多台
|
24
fancyhan 2020-09-25 17:42:27 +08:00
2C6g,四台放在不同机房,最好跨一个服务商
|
25
rainbirda 2020-09-25 17:50:32 +08:00
分布式架构最少的两台吧,保证可用性,为啥不整 2 台 4C8G?
|
26
cominghome 2020-09-25 18:47:43 +08:00
看需求,普通 Java 应用的话,实例拆越小越好,2c4g 跑一个进程正好
|
27
asuraa 2020-09-25 22:12:07 +08:00
反正我们的 k8s 是 8h16g 的节点
|
28
jerryshao 2020-09-26 05:39:03 +08:00
我的理解是这一套搭在不同地域或者同一区域的不同可用区然后前面加负载均衡。
可以自己先做一下测试,比如在一个可用区启动 2 个 2C4G 和一个 8C16G,给前面两个 50%的负载,后面一个 50%的负载。不断增加请求,看看 CPU,内存,硬盘吞吐等等指标的情况,找一下性能瓶颈再决定单机还是多机。 前两个月也可以先用 on demand 看看,太着急包年买可能会造成浪费。 |
29
lsnl8480 2020-09-26 12:05:36 +08:00
os 的基础损耗差不多在 0.5v 左右,资源不多的话,不建议分太多虚拟机,计算资源都浪费在 os 损耗上了。
|
30
KarlChen2015 OP @mawenjian 我可能标题写的不够清楚,我的意思是多个应用部署在一台机子上 还是部署在多台机子上的问题,比如 4 个应用部署在一台机子或者四台机子上,再基于此部署方式作双机(部署两套)负载均衡
|
31
KarlChen2015 OP @Lockeysama 你没 get 我的提问...
|
32
KarlChen2015 OP @rainbirda 你没 get 我的提问...
|
33
young1lin 2020-09-27 09:38:25 +08:00
一台机器上更方便,如果其他应用内存不够了,刚好有一个应用不常用,使用内存或者 cpu 资源少,可以这么做。
多台机器增加了部署以及运维的成本,而且耗流量。 当然,如果你要完全隔离所有应用的资源,那当我没说。 |
34
Lockeysama 2020-09-27 09:58:29 +08:00
@KarlChen2015 各有优势劣势,从运维来说:多台机子运维成本增加是必然的,但是是故障恢复的时候,程序设计的合理的话,多台恢复比一台的要简单些(不太可能多台同时 GG,只要恢复其中故障的一两个就行);从网络角度来说:服务程序间通信,在一台内总是比多台内更稳定可靠快速的(如果现在体量没那么大的话,这些差别根本不重要);个人是比较习惯用多台低配这种方案的,觉得按照这种方式去优化架构的话,之后业务增长了,去做服务横向扩展这些的时候,能避免掉一些坑(主要是网络通信问题)。
|