- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是微服务领域的新手,但了解有关负载平衡的基础知识。我最近读了一篇关于微服务的文章:Enough with the microservices .
其中提到微服务和负载均衡器都有集群/不同的 VM 用于部署许多应用程序副本,但在微服务的情况下,我们有一个单独的数据库,这与支持的负载均衡器形成对比一个单一的数据库。这是它们之间唯一的区别吗?
这是引用的文本:
"multiple copies of the same microservice can be deployed in order to achieve a form of scalability. However, most companies that adopt microservices too early will use the same storage subsystem (most often a database) to back all of their microservices. What that means is that you don’t really have horizontal scalability for your application, only for your service. If this is the scalability method you plan to use, why not just deploy more copies of your monolith behind a load balancer? You’ll accomplish the same goal with less complexity."
最佳答案
您不能将微服务与负载均衡器进行比较...您应该将其与单体架构或 SOA 架构进行比较。
在单体方法中,您主要只有一个数据库用于整个系统和一个单体应用程序作为您业务的单个项目。
monolithic 是单个单元,但是 SOA 是一种粗粒度方法,微服务是细粒度方法。在微服务架构中,您不是设计一个整体系统,而是围绕您的业务能力并基于您的领域和限界上下文设计不同的微服务。
每个微服务都可能有自己的数据库。例如订单微服务可能有mysql数据库,推荐微服务可能有Cassandra数据库,用户搜索微服务可能有Elasticsearch或SOLR数据库。
在微服务中,每个微服务可以基于两种不同的通信方式与另一个微服务通信:
在微服务架构中向上向下扩展比单体系统要容易得多,您甚至可以更改系统的一部分并独立重新部署它,而不会影响整个系统。
此外,微服务遵循任其崩溃模式,通过使用断路器等 EIP 模式,您可以让用户认为系统始终正常运行,并且基于 CAP 定理,您可以通过补偿一致性和根据 BASE 而不是 ACID
的最终一致性对于负载平衡,Netflix 设计的Ribbon 客户端负载平衡是非常可行的方法。
您还可以使用 NginX、Docker Swarm 和 kubernetes 实现负载平衡。
简而言之,将微服务与负载均衡器进行比较没有什么可做的。
关于load-balancing - 微服务和负载均衡器的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44181863/
我是 AWS 新手。我开始学习 ALB 和 NLB。我知道 ALB 在第 7 层协议(protocol)中工作,而 NLB 在第 4 层协议(protocol)中工作。 谁能解释一下ALB和NLB的实
我正在使用平衡付款ruby api并意外创建了几个额外的测试市场。虽然 api 公开了一个用于创建测试市场的清晰界面,但我似乎找不到任何方法来删除它,即使没有 api。有人知道删除市场的方法吗? 最佳
我有在 Google Compute Engine 上运行的服务。我在欧洲的目标池中有几个实例,在美国的目标池中也有几个实例。目前我有一个域名,它连接到欧洲目标池 IP,并且可以很好地在这两个实例之间
我在golang中遇到以下错误 # go.etcd.io/etcd/clientv3/balancer/picker
我在 Google CE(计算引擎)上有一个 Node.js 应用程序,它在 nginx 服务器后面运行。 我应该使用 nginx 负载均衡器和 Google Cloud 负载均衡器吗? 或者它们是相
我正在寻找将 WAF 集成到现有服务器设置中的方法,因为我的 Classic Load Balancer(带有 EC2 实例)不支持 WAF,因此我需要迁移到 Application Load Bal
在我的文档中有一个父 div固定高度和两列子元素 div . Text 仅使用 CSS3,我试图通过以下方式将子项的两列布局与父项的溢出裁剪携手合作: 当子元素包含很少的文本时,它不应该平
我正在尝试设置 Application Load Balancer 以将流量转发到 AWS 中的 Nginx Ingress Controller 。 为了设置 Nginx Ingress Contr
我有一个 EKS Kubernetes 1.16.x。具有三个标记为 kubernetes.io/role/elb: 1 的公共(public)子网的集群和三个标记为 kubernetes.io/ro
我有 REST API。 为了简单起见,假设我有两个服务: read.request.com write.request.com 如何将所有读取请求(GET 方法)重写为read.request.co
我是微服务领域的新手,但了解有关负载平衡的基础知识。我最近读了一篇关于微服务的文章:Enough with the microservices . 其中提到微服务和负载均衡器都有集群/不同的 VM 用
在阅读“kong”api网关的文档时,上游服务器中有一个称为插槽的概念。我没明白这句话的意思。请分享这方面的知识。 最佳答案 我查看了 Kong 源代码,这是相对于外部 resty 库的: https
某个组织有10服务器。为它提供一些负载平衡算法。还要考虑这样一种情况,其中一台服务器需要 10 秒来处理请求,而其他服务器只需要 1 秒。那么,您将如何管理这个瓶颈? 最佳答案 有多种方法可以做到这一
考虑一种情况,我们有一个部署在多个服务器中的 Web 应用程序,并且客户端请求登陆到负载均衡器,负载均衡器又将请求路由到实际服务器。 现在,如果我们有太多请求并发,负载均衡器本身会失败吗?假设我们每秒
在Web应用程序和服务中,我正在创建它必须水平缩放。我想拥有1个负载平衡器,3个Web服务器节点和2个数据库节点(其中一个仅用于冗余,并且在第一个数据库节点发生故障时将垂直扩展)。 负载均衡器是否充当
可以对MQTT代理进行负载平衡吗?我可以使用ELB来负载均衡MQTT吗?朝这个方向的任何指示都将有所帮助。我碰到了http://www.slideshare.net/kellogh/mqtt-kafk
阅读常见消息队列系统(例如 RabbitMQ、ActiveMQ)的文档,似乎负载平衡总是由队列系统(循环)或生产者使用消息上的多个队列或属性来完成。然而,在我们的应用程序中,没有人知道处理消息需要多长
我的老板想要一个系统来考虑整个大陆的灾难性事件。他想在美国有两台服务器,在亚洲有两台服务器(每个大陆有 1 个登录服务器和 1 个工作服务器)。 如果地震破坏了两大洲之间的联系,两者都应该单独行动。当
最近有几种服务发现工具变得流行/“主流”,我想知道在哪些主要用例下应该使用它们而不是传统的负载均衡器。 使用 LB,您可以在平衡器后面聚集一堆节点,然后客户端向平衡器发出请求,然后平衡器(通常)将这些
我们的设置是 Varnish 前端,通过配置的运行状况轮询为2个后端提供服务。我们使用Client Director进行负载平衡,因此根据client.identity选择后端 当两个后端之一发生故障
我是一名优秀的程序员,十分优秀!