mirror of
https://github.com/apache/rocketmq.git
synced 2026-10-24 23:31:43 +08:00
[ISSUE #3949] Add README
This commit is contained in:
+2
-2
@@ -33,8 +33,8 @@
|
||||
|
||||
- [Cluster Deployment](dledger/deploy_guide.md):introduce how to deploy Dledger in cluster.
|
||||
|
||||
- [GRPC Proxy Deployment](proxy/deploy_guide.md)
|
||||
Introduce how to deploy gRPC proxy (both `Local` mode and `Cluster` mode).
|
||||
- [Proxy Deployment](proxy/deploy_guide.md)
|
||||
Introduce how to deploy proxy (both `Local` mode and `Cluster` mode).
|
||||
|
||||
### 5. Operation and maintenance management
|
||||
- [Operation](operation.md):introduce RocketMQ's deployment modes that including single-master mode, multi-master mode, multi-master multi-slave mode and so on, as well as the usage of operation tool mqadmin.
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
@@ -1,32 +1,37 @@
|
||||
# RocketMQ Proxy Deployment Guide
|
||||
|
||||
## Overview
|
||||
RocketMQ Proxy supports two deployment modes, `Local` mode and `Cluster` mode.
|
||||
|
||||
With `Local` mode, `Proxy` deployed with `Broker` in the same process with inter-process communication.
|
||||
|
||||
While `Cluster` mode, `Proxy` is a single cluster who communicate `Broker` with remote procedure call. In this way, `Proxy` acts as a stateless computing components while `Broker` is a stateful components with local storage. This form of deployment makes RocketMQ an architecture of separation of computing and storage.
|
||||
RocketMQ Proxy supports two deployment modes, `Local` mode and `Cluster` mode.
|
||||
|
||||
## Configuration
|
||||
The configuration applies to both the `Cluster` mode and `Local` mode, whose default path is distribution/conf/rmq-proxy.json directory.
|
||||
|
||||
The configuration applies to both the `Cluster` mode and `Local` mode, whose default path is
|
||||
distribution/conf/rmq-proxy.json directory.
|
||||
|
||||
## `Cluster` mode
|
||||
|
||||
* Set configuration field `nameSrvAddr`.
|
||||
* Set configuration field `proxyMode` to `cluster` (case insensitive).
|
||||
|
||||
|
||||
Run the command below.
|
||||
|
||||
```shell
|
||||
nohup sh mqproxy &
|
||||
```
|
||||
|
||||
The command will only run `Proxy` itself. It requires `Namesrv` and `Broker` components running.
|
||||
|
||||
## `Local` mode
|
||||
|
||||
* Set configuration field `nameSrvAddr`.
|
||||
* Set configuration field `proxyMode` to `local` (case insensitive).
|
||||
|
||||
Run the command below.
|
||||
|
||||
```shell
|
||||
nohup sh mqproxy &
|
||||
```
|
||||
The command will not only run `Proxy`, but also run `Broker`. It requires `Namesrv` only and there's no need for extra `Broker`.
|
||||
|
||||
The command will not only run `Proxy`, but also run `Broker`. It requires `Namesrv` only and there's no need for
|
||||
extra `Broker`.
|
||||
@@ -0,0 +1,59 @@
|
||||
rocketmq-proxy
|
||||
--------
|
||||
|
||||
## Introduction
|
||||
|
||||
`RocketMQ Proxy` is a stateless component that makes full use of the newly introduced `pop` consumption mechanism to
|
||||
achieve stateless consumption behavior. `gRPC` protocol is supported now and all the message types including `normal`
|
||||
, `fifo`, `transaction` and `delay` are supported via `pop`. `Proxy` will translate incoming traffic into
|
||||
customized `Remoting` protocol to access `Broker` or `Namesrv`.
|
||||
|
||||
`Proxy` also handles SSL, authorization/authentication and logging/tracing/metrics and is in charge of connection
|
||||
management and traffic governance.
|
||||
|
||||
### Multi-language support.
|
||||
|
||||
`gRPC` combined with `Protocol Buffer` makes it easy to implement clients with both `java` and other programming
|
||||
languages. See [rocketmq-clients](https://github.com/apache/rocketmq-clients) for more information.
|
||||
|
||||
### Multi-protocol support.
|
||||
|
||||
With `Proxy` as a traffic interface, it's convenient to implement multiple protocols upon proxy. `gRPC` protocol is
|
||||
implemented first and the customized `Remoting` protocol will be implemented later. HTTP/1.1 will also be taken into
|
||||
consideration.
|
||||
|
||||
## Architecture
|
||||
|
||||
`RocketMQ Proxy` has two deployment modes: `Cluster` mode and `Local` mode. With both modes, `Pop` mode is natively supported
|
||||
in `Proxy`.
|
||||
|
||||
### `Cluster` mode
|
||||
|
||||
While in `Cluster` mode, `Proxy` is an independent cluster that communicates with `Broker` with remote procedure call. In
|
||||
this scenario, `Proxy` acts as a stateless computing component while `Broker` is a stateful component with local
|
||||
storage. This form of deployment introduces the architecture of separation of computing and storage for RocketMQ.
|
||||
|
||||
Due to the separation of computing and storage, `RocketMQ Proxy` can be scaled out indefinitely in `Cluster` mode to
|
||||
handle traffic peak while `Broker` can focus on storage engine and high availability.
|
||||
|
||||

|
||||
|
||||
### `Local` mode
|
||||
|
||||
`Proxy` in `Local` mode has more similarity with `RocketMQ` 4.x version, which is easily deployed or upgraded for
|
||||
current RocketMQ users. With `Local` mode, `Proxy` deployed with `Broker` in the same process with inter-process
|
||||
communication so the network overhead is reduced compared to `Cluster` mode.
|
||||
|
||||

|
||||
|
||||
## Deploy guide
|
||||
|
||||
See [Proxy Deployment](../docs/en/proxy/deploy_guide.md)
|
||||
|
||||
## Related
|
||||
|
||||
* [rocketmq-apis](https://github.com/apache/rocketmq-apis): Common communication protocol between server and client.
|
||||
* [rocketmq-clients](https://github.com/apache/rocketmq-clients): Collection of Polyglot Clients for Apache RocketMQ.
|
||||
* [RIP-37: New and Unified APIs](https://shimo.im/docs/m5kv92OeRRU8olqX): RocketMQ proposal of new and unified APIs
|
||||
crossing different languages.
|
||||
* [RIP-39: Support gRPC protocol](https://shimo.im/docs/gXqmeEPYgdUw5bqo): RocketMQ proposal of gRPC protocol support.
|
||||
Reference in New Issue
Block a user