Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Service Weight Rating

linux_china edited this page Apr 23, 2020 · 3 revisions

在分布式系统中,服务提供方的处理能力可能不太一样,这个也就是我们常说的应用权重,一些硬件配置比较好的应用实例要处理更多的业务请求。

Alibaba RSocket Broker可以根据应用的power-rating配置项来调整请求的权重,你只需要在application.properties中添加以下配置,就可以调整应用的权重。

rsocket.metadata.power-rating=2

如果你没有做任何设置,power-rating为1(不能为0和负数),表示所有的服务实例都是一样的处理能力。如同你调整为其他数字,表示该服务实例拥有比其他实例更多倍的处理能力。 power-rating的值如何计算出来? 你可以参考云厂商的规范,如CPU1核+内存512M为一个计算单位,应用在启动时可以计算出自己的处理能力,如4和2G内存 power rating为4,然后提交给Broker即可。

power-rating功能扩展

在实际的应用中,如果你想做A/B测试,可能希望某一些实例更处理更多的流量,你可以调整power-rating来达到分流的目的。 这个时候power-rating不再表示物理的处理能力权重,这个要注意一下。

power-rating的一些使用场景

  • 硬件配置处理能力匹配
  • A/B Testing
  • 动态分流: power-rating更高的应用获得流量更多

RSocket

Network Protocol

  • Binary: byte stream
  • Async message
  • Multi transports
  • Reactive Semantics

Symmetric interactions

  • request/response
  • request/stream
  • fire-and-forget
  • channel

Transports

  • TCP+TLS
  • WebSocket+TLS
  • UDP(Aeron)
  • RDMA

Polyglot

Clone this wiki locally