새로운 세상
오늘 카우치베이스 서버 1.8을 출시하고 PHP SDK를 완전히 재작성했습니다. 모두 좋은 소식입니다: 이전 버전과 API 호환성을 유지하면서 내부 기능을 대폭 강화했습니다. 야호!
그리고 당신의 Moxi?
이전 버전의 PHP SDK는 PHP와 카우치베이스(일명 멤베이스) 서버 사이의 작은 프록시 서버 "moxi"에 의존했습니다. 이 SDK는 단일 엔드포인트와만 통신할 수 있었습니다. Moxi는 Couchbase 서버 클러스터와의 통신을 처리하고 이러한 설정에서 자연스럽게 오고 가는 노드 추적을 추상화합니다. 이 모든 것이 좋지만, Moxi에는 추가적인 관리 오버헤드와 성능 저하가 따릅니다.
오늘 출시되는 PHP SDK 1.0 버전에서는 자체적으로 클러스터를 인식하는 PHP 라이브러리를 제공합니다. 더 이상 별도의 moxi 설치를 관리할 필요가 없습니다. 또한, Couchbase 클러스터의 변경 사항에 대해 걱정할 필요가 없습니다. 새로운 노드가 도착하든 오래된 노드가 폐기되든, PHP 코드는 항상 클러스터와 대화할 수 있습니다. 무엇보다도 클러스터에 대한 원시 액세스를 통해 속도를 극대화할 수 있습니다. 초기 벤치마크에서는 처리량이 1.5배-2.0배 개선된 것으로 나타났습니다.
알았어, 알았어, 놀자!
새로운 SDK 개요 페이지에서는 다운로드부터 시작 가이드, API 문서 및 광범위한 튜토리얼에 이르기까지 모든 세부 정보를 확인할 수 있습니다.
이것은 모두 새로운 코드이며 공정성을 기하기 위해 1.0.0 베타 릴리스라고 부르지만, 성공적인 사용자 사례가 많이 나오고 버그 보고가 없는 즉시 최종 릴리스라고 부를 준비가 되어 있습니다.
앞으로의 전망
PHP 라이브러리의 새로운 기반을 통해 더 많은 기능을 더 빠르게 제공할 수 있게 되었습니다. Couchbase Server 2.0이 곧 출시되면 모든 새로운 기능에 바로 액세스할 수 있습니다.
그렇다면 하나의 서버에만 연결하면 php 라이브러리가 클러스터의 모든 서버를 파악할 수 있나요? PHP 멤캐시 라이브러리를 사용하면 모든 서버를 지정해야 하고 일관된 해싱을 사용하여 어디에 저장할지 알아냅니다.
브라이언, 정말 좋은 지적입니다. 확장 기능이 하나의 엔드포인트에서 전체 클러스터 토폴로지를 검색할 수 있지만, 지정된 노드가 꺼져 나머지 토폴로지를 검색할 수 없는 경우를 대비해 여러 엔드포인트를 지정하는 기능을 추가하고 있습니다.
Windows 버전의 라이브러리를 사용할 수 있는지 여부와 시기에 대한 표시가 있나요?
아직 Windows 버전의 라이브러리 요금제에 대한 업데이트가 없나요?
안녕하세요 키이스/대니,
테스트용 라이브러리 빌드 버전이 있습니다. 매트에게 이메일을 보내주시면 다시 보내드리겠습니다.
테스트가 완료되면 문서 등과 함께 사이트에 게시됩니다.
고마워요!
이에 대한 좋은 문서를 전혀 보지 못했습니다.
간단히 말해서, 저는 x86(win32) 컴퓨터의 IIS 7에서 PHP 5.4로 카우치베이스를 작동시키고 있습니다.
win7을 실행 중입니다. 며칠이 걸렸으므로 누군가이 문서를 찾을 수 있기를 바랍니다.
유용하고 시간을 절약할 수 있습니다.
기본적으로 (2) 때문에 (3)에서 (사전 컴파일된) AWS 버전의 PHP를 다운로드합니다.
(멤캐시 확장이 포함되어 있습니다.)
시간대 및 확장 디렉토리에 대한 PHP.ini를 수정했습니다.
php.ini에 확장자=php_couchbase.dll을 추가합니다.
(IIS와 PHP를 설정해야 하는 경우 (6)과 같은 내용을 참조하세요).
(5)에서 php_couchbase.dll을 다운로드합니다,
5.4 버전, TS의 경우 extrac을 실행하고 ext dir에 넣습니다.
(php는 c:php에, php_couchbase.dll은 c:phpext에 넣었습니다).
dll을 찾을 수 없다는 오류가 계속 발생했습니다,
그래서 저는 프로몬을 sysinternals.com(어떤 dll\'s php_couchbase.dll이 필요한지 확인하려면 depends.exe도 참조하세요).
php.exe가 *local* 디렉터리에서 libvbucket.dll과 libcouchbase.dll을 찾고 있는 것을 발견했습니다.
와 모듈의 확장 디렉토리를 지정합니다. (이 정도는 이해가 되지만 테스트만 하려는 사람에게는 의외였습니다.)
두 dll\'을 모두 c:php 디렉터리에 넣은 후 모든 것이 정상적으로 로드되었습니다.
자세한 내용을 확인하세요:
PHP 버전(1)을 작동시키려고 시도했지만 멤캐시가 필요하기 때문에 실패했습니다.
스택 오버 플로우에서 (2)를 발견했는데, PHP 5.4 (win32)에서 멤 캐시를 얻을 수 있다고 말했습니다.
(미리 빌드되어 있는) AWS 버전을 다운로드하여 (3)을 참조하세요.
PHP 카우치베이스가 여전히 제대로 실행되지 않는 것을 발견했습니다.
다음과 같이 PHP에 필요한 dll을 빌드하려고 시도했습니다: (4)
하지만 알고 보니 PHP 모듈이 아닌 dll에만 해당되는 것이었습니다,
하지만 libcouchbase.dll과 libvbucket.dll을 빌드할 수 있었습니다.
나중에 필요하며 여기(5)에서도 확인할 수 있습니다.
IIS에서 500개의 오류가 발생하고 오류를 발견하지 못한 후, 저는 프로세스를 모니터링하기로 결정했습니다.
dll에 종속성이 있는지 확인 - 잘못된 파일 배치가 내 원인이었습니다.
php_couchbase.dll을 확장 디렉터리에 넣고 종속성 dll\'을
디렉터리를 삭제합니다.
1: https://github.com/couchbasela…
2: http://stackoverflow.com/quest…
3: http://stalk.s3-website-eu-wes…
4: http://www.couchbase.com/libc…
5: http://downloads.php.net/pierr... (dll이 포함된 php_couchbase* 압축 파일 참조)
6: http://learn.iis.net/page.aspx…
Windows 7 x64에서는 정상적으로 작동하지만 Server 2008 x64에서는 작동하지 않습니다. 서버는 무슨 일이 있어도 키가 존재하지 않는다고 응답합니다.
[...] Java 및 Ruby SDK의 업데이트. 또한 Jan Lehnardt가 PHP SDK에 대해 간략하게 설명합니다. PHP와 Ruby는 새로운 C(일명 libcouchbase) SDK에서 스마트함을 얻습니다. 새로운 [...]