-
Notifications
You must be signed in to change notification settings - Fork 16
Server List에 서버를 추가하는 함수들
Yeoncheol Kim edited this page Jan 19, 2024
·
3 revisions
-
서버 리스트 구성 시 해당 리스트 내에 서버를 추가하는 함수들에 대한 정리입니다.
-
크게 3가지(memcached_server_list_append, server_add, memcached_server_push)로 분류됩니다.
-
각 함수들의 간단 정리표
memcached_server_list_append | server_add | memcached_server_push | |
---|---|---|---|
전역성 | O | O | O |
추가 가능한 서버 개수 | 1 | 1 | n |
Distribution Hash 재생성 여부 |
X | O | O |
Ketama.weighted 플래그 설정 |
X | O | O |
활용 목적 (개인 의견) |
단순 서버 리스트만 구성 | 이미 설정 및 구성이 완료된 서버에 새로운 서버 추가 목적 |
이미 설정 및 구성이 완료된 서버에 새로운 서버 추가 목적 |
memcached_server_list_st
memcached_server_list_append_with_weight(memcached_server_list_st ptr,
const char *hostname, in_port_t port,
uint32_t weight,
memcached_return_t *error)
- 서버 리스트를 인자로 받아 realloc 하여, 해당 리스트에 서버를 추가
- 사용자 접근 가능 (
외부 함수
) -
하나의 서버
를 서버 리스트에 추가 - server_add 와 전체적인 동작 방식은 유사
- 리턴값
- 성공 : 해당 서버가 추가된 서버 리스트 주소
- 실패 : NULL
memcached_return_t memcached_server_add_with_weight(memcached_st *ptr,
const char *hostname,
in_port_t port,
uint32_t weight)
- 서버 설정 정보(서버 리스트, Distribution Hash, 프로토콜 등등)가 들어있는 구조체를 인자로 받아 해당 구조체 내 서버 리스트에서 realloc을 통해 서버를 추가
- 이미 구성된 정보에 서버가 추가되었으므로 Distribution Hash를 재구성합니다.
- 사용자 접근 가능 (
외부 함수
) -
하나의 서버
를 서버 리스트에 추가 - memcached_server_list_append 와 전체적인 동작 방식은 유사
- 리턴값
- 성공 : MEMCACHED_SUCCESS
- 실패 : 원인을 알려주는 Error Number
memcached_return_t memcached_server_push_with_count(memcached_st *ptr,
const memcached_server_list_st list,
uint32_t count)
memcached_return_t memcached_server_push_with_serverinfo(memcached_st *ptr,
memcached_server_info_st *serverinfo,
uint32_t servercount)
- 서버 설정 정보(서버 리스트, Distribution Hash, 프로토콜 등등)가 들어있는 구조체를 인자로 받아 해당 구조체 내 서버 리스트에서 realloc을 통해 다수개의 서버를 추가
- 이미 구성된 정보에 서버가 추가되었으므로 Distribution Hash를 재구성합니다.
- 사용자 접근 가능 (
외부 함수
) -
다수 개의 서버
를 서버 리스트에 추가 - 리턴값
- 성공 : MEMCACHED_SUCCESS
- 실패 : 원인을 알려주는 Error Number