我已经阅读了许多系统设计文档,以下是最容易理解的术语。
· 并发是指同时进行多项操作,并不一定要同时执行(但有可能)。
· 并行是关于同时执行多件事。
例如:
第一种情况:两个队列都在进行中,但只有一台自动售货机,所以不能同时喝咖啡;第二种情况,两个队列都在进行中,每个队列中的一个人可以同时喝咖啡 。
在计算世界中,并发可以在具有有效时间共享的单处理器系统上发生,但并行性只能在多核CPU / GPU上发生。
· 性能与速度有关,它可以处理请求的速度。
· 可伸缩性与系统处理大量用户/数据/流量的能力有关。
让我们以上面的示例为例,我们有一个自动售货机,它可以非常快速地以大约每秒一秒钟的速度煮咖啡。 如果每秒只有不到一位消费者去自动售货机,他们显然可以在一秒钟内拿到咖啡。
如果每秒有两个消费者去自动售货机:
· 在第一秒:第一位消费者和第二位消费者来喝咖啡。 第一位消费者在1秒内拿到咖啡,第二位消费者将在2秒内拿到咖啡,因为他需要等待第一位消费者。
· 在第二个秒:第二个消费者开始流程之后,第三个和第四个消费者就来了。 第三位消费者必须等待2秒钟才能喝咖啡,因为他需要等待1秒钟才能让第二位消费者喝完咖啡。 第四个消费者需要等待3秒。
· 在第三秒:第五和第六位消费者来了。 他们需要分别等待3秒和4秒才能喝咖啡。
· 而且,随着时间的推移,消费者使用自动售货机的时间越长,他们等待的时间就越长……
我们不太在乎自动售货机制作一杯咖啡的速度,但我们关心的是消费者平均需要等待多长时间。 如您所见,当消费者以更快的速度进入自动售货机时,消费者需要等待的时间显着增加。
在这种情况下,整个系统是不可扩展的,如果我们要拥有一个高度可扩展的系统,则无论有多少用户进入,我们都需要确保性能恒定。
转发代理(通常简称为"代理"):
· 客户端将请求发送到代理,然后将请求转发到目标服务器。
· 它代表客户端,并向服务器隐藏客户端的身份。 服务器仅知道转发代理ip,而对真实客户端一无所知。
· 通常用于绕过网络块。 VPN是一个很好的例子。
反向代理:
· 它接受来自客户端的请求,将其转发到可以满足要求的服务器,然后将服务器的响应返回给客户端。
· 它代表服务器,并隐藏服务器的身份。 客户端仅知道反向代理ip,而对真实服务器一无所知。
· 它提供对专用网络上服务器的控制访问。 反向代理可以执行身份验证任务,以及缓存或解密数据。
(本文翻译自Tuan Nhu Dinh的文章《Confusing terms in system design: concurrency vs parallelism, performance vs scalability, proxy vs reverse proxy.》,参考:https://medium.com/swlh/confusing-terms-in-system-design-concurrency-vs-parallelism-performance-vs-scalability-proxy-vs-e3717b3bd81e)
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【代理英文翻译(系统设计中令人困惑的术语)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
