레디 스 복제 (레디 스 다기능 기계 기사)

복사

읽기 요청 시스템 용량을 확장, 개선 시스템 가용성은
동일한 데이터베이스 서버의 복사본을 생성

레디 스 복제 (복제) 기능은 서버에서 서버로 아웃 작성된 사용자가 복제본을 복사함으로써 서버가 마스터 (마스터) 복사되는 것을 특징 레디 스 서버에 기초하여 상기 서버의 복사본의 수를 생성 할 수 있도록 ( 슬레이브).
주님은 모두 데이터베이스 서버에서 동일한 데이터를 가지고 :만큼 긴 네트워크 서버 사이의 주요 연결에서 정상으로, 주 서버는 서버에서 동일한 데이터의 주요 보장 된 서버에서 동기화 데이터 업데이트에 일어날해야합니다.
그림 삽입 설명 여기
왼쪽은 서버에서 마스터 서버가 표시됩니다.
그것은 바로 보여 주 서버 서버에서 세 가지가 있습니다.

서버에서 읽기 명령을 사용하면 요청을 처리하는

레디 스는 GET, LRANGE, SMEMBERS, HGET, ZRANGE로 등, 서버에서 클라이언트에서 보낸 읽기 명령을 할 수 있습니다.

기본 데이터베이스 서버로부터 동일한 데이터를 가지고 있기 때문에, 마스터 서버에서 결과를 클라이언트에 의해 전송되는 판독 명령을 실행하는 판독 명령에 의해 얻어진 동일한 실행 결과를 얻는 것은 동일하다 . 따라서, 사용자는 판독 명령 서버 프로세스에 요청함으로써 판독 명령 요청을 처리하는 주 서버의 부하를 감소시키는 마스터 서버 프로세스 (또는 모두)에 의해 원래의 전하의 일부, 전체 시스템 용량이 명령 판독 요청 연장 될 수있다.
그림 삽입 설명 여기

읽기 요청을 처리 복사하여 시스템을 확장 할 수있는 기능

전체 시스템을 추가함으로써 확장 될 수 선형 처리 기능 서버로부터 명령을 판독 요청.

다음 표에서는 동일한 조건에서 상기 서버로부터 기본 하드웨어의 수 사이의 관계를 상기 서버 시스템으로부터 판독 명령의 개수는 요청을 처리 할 수있다.
그림 삽입 설명 여기

창조와 서버의 사용에서

사용 SLAVEOF 명령 또는 옵션 slaveof

서버에서 방법을 만들기

레디 스 마스터 서버에서 서버를 만드는 두 가지 방법을 제공합니다 :

  1. 使用 SLAVEOF 命令,比如向一个服务器发送 SLAVEOF 127.0.0.1 6379 ,可以让接收到该命令的服务器变为 127.0.0.1:6379 的从服务器。在将一个服务器设置成从服务器之后,可以通过向它发送 SLAVEOF no one 来让它变回一个主服务器(数据库已有的数据会被保留)。

  2. 在启动服务器时,通过设置 slaveof 配置选项来让服务器成为指定服务器的从服务器。

举个例子,如果客户端对服务器 127.0.0.1:6380 发送命令 SLAVEOF 127.0.0.1 6379 ,那么127.0.0.1:6380 将成为 127.0.0.1:6379 的从服务器。
그림 삽입 설명 여기

主从服务器操作示例
127.0.0.1:6379> SET msg “hello world”
OK
127.0.0.1:6379> INCR counter
(integer) 1
127.0.0.1:6379> INCR counter
(integer) 2
127.0.0.1:6379> RPUSH lst 1 3 5 7 9
(integer) 5

127.0.0.1:6380> GET msg
“hello world”
127.0.0.1:6380> GET counter
“2”
127.0.0.1:6380> LRANGE lst 0 -1
1)“1”
2)“3”
3)“5”
4)“7”
5)“9”

处理服务器下线

主服务器或者从服务器下线了,怎么办?!

服务器在复制时遭遇下线

在实际的世界中,因为故障而导致服务器下线的情况总是不可避免的。

在一个由主服务器和从服务器组成的系统中,主服务器或者从服务器都有可能会下线,但是不同服务器下线带来的影响并不相同:

  • 如果下线的是从服务器,那么整个系统处理读请求的性能将有所下降,但 整个系统仍然可以继续处理写请求和读请求,所以这种下线不会导致系统停机;
  • 另一方面,因为在整个系统里面,只有主服务器一个能够处理写请求,所以如果下线的是主服务器,那么整个系统将只能处理读请求而无法处理写请求,导致系统停机。
从服务器下线示例

그림 삽입 설명 여기
从服务器 B 下线,导致客户端 C 的访 问失败,但只要客户端 C 改为访问其他在线的服务器,就可以解决这个问 题。

主服务器下线示例

그림 삽입 설명 여기
主服务器下线导致主从服务器的连接中断,并使得整个系 统无法再执行写命令。

这时从服务器还是可以继续处理读请求的,但是从服务器的数据会因为主服务器下线而没办法再得到更新。

让系统重新上线的方法(1/3)

시스템 (시스템이 서버 모두가 핸들 쓰기 요청에 요청을 읽고, 또한 수 처리 할 수 ​​그래서,입니다) 정상 온라인 상태로 되돌아하기 위해서는, 당신은 하나의 시스템에 서버에서 SLAVEOF 아무도 명령을 보낼 필요가 그것을 새 마스터 서버가됩니다, 다른되고 그 서버에서 새를 복사 할 수 있도록 서버에서 SLAVEOF 명령을 보냈다.
그림 삽입 설명 여기

(2/3) 시스템 다시 온라인 방법을 보자

그림 삽입 설명 여기

(3/3) 시스템 다시 온라인 방법을 보자

그림 삽입 설명 여기
이 시스템은 이제 새로운 주 서버를 가지고 있으며, 서버에서 클라이언트가 읽기 및 쓰기 요청을 처리하기 위해 시스템을 계속 사용할 수 있습니다.

때문에 이유의 서버를 오프라인으로는, 다시 온라인 시스템 성능이 원래 시스템과 같이하지 않을 수 있습니다,하지만 전체 시스템 종료의 복구 작업을 피할 수 있습니다. (당신은, 당신은 여분의 서버로 추가 슬레이브 서버를 추가 할 수없는 경우 시스템 복구 후 영향을받는 성능을 제공합니다.)

이 방법은 위에서 설명한 이러한 목적을위한 시스템 온라인 다시, 수동으로 작업을 수행 할 수 있지만, 너무 많은 문제를 수 있지만, 레디 스 센티넬 프로그램을 제공, 사용 할 수있는 사용자
마스터 서버 마스터 서버 및 오프라인 상태에서 자동으로 감지에 센티넬 때 자동 페일 오버 작업 (장애 복구) 시스템 다시 온라인.

게시 된 252 개 원래 기사 · 원 찬양 (151) ·은 10000 +를 볼

추천

출처blog.csdn.net/qq_39885372/article/details/104283099