2010-03-20 4 views
5

저는 소셜 네트워크 기반 응용 프로그램 개발을위한 기술 스택을 평가 해 왔습니다. 아래는 내가 생각하는 스택입니다 수 응용 프로그램이 응용 프로그램 유형에 매우 적합 :Thrift, .NET, Cassandra - 올바른 조합입니까?

GUI - ASP.NET MVC, 플래시 (플렉스)

비즈니스 서비스 - 드리프트 기반 서비스 중 하나 Thrift을 사용하면 나중에 사용자 기반이 빠르게 증가 할 때 발생할 수있는 스케일링 문제를 해결할 수 있다는 장점이 있습니다. 모든 비즈니스 로직은 REST, JSON 등을 사용하여 서비스로 공개 될 수 있습니다. 상황에 따라 C++ 또는 Erlang 기반 서비스를 사용할 수도 있습니다.

데이터베이스 - MySQL은, CasSandara MySQL이 유지 될 필요가있는 데이터를 저장하기 위해 사용될 수있다. Cassandara는 지속 된 데이터에 대한 전역 식별자를 저장하는 데 사용됩니다. Cassandara는 더 많은 노드를 도입하여 확장 성이 우수하기 때문에 Thrift 기반 서비스도 활용할 수 있습니다. 또한

캐시 서버 Cassandara와 드리프트

사이에 기본 지원이 - Memcached가가

비즈니스 서비스에서 모든 요청 만이 아닌 더러운 데이터가 필요한 경우, 그렇지 않으면 몇 가지 배경이있을 것 memcached를 얘기합니다 데이터베이스에서 캐시를 + 효화하는 작업.

질문은 :

  1. 인 드리프트 하나는 생산 준비가 오픈 소스?
  2. 응용 프로그램 (GUI)이 주로 ASP.NET에서 개발되고 DB가 mysql 인 경우 선택할 서비스 계층의 올바른 스택입니까?
  3. 여기에 다른 사람이 경험 한 다른주의 사항이 있습니까? 이 스택 뒤에 주요 목적의

하나는 쉽게 더 많은 노드로 확장하는 것입니다이 리눅스 박스를 사용하는 데 도움이, 그것은 ... 우리의 비용을 크게

생각하십시오을 줄일 수

+0

소셜 네트워킹 설정의 클라이언트는 컴파일러가 아닌 브라우저를 사용합니다. 왜 이것을 필요로합니까? –

+0

@nobugz : 당신의 의견을 자세히 설명해 주시겠습니까? – asyncwait

+0

좋은 대답을 원한다면 질문을 자세히 작성하는 것이 좋습니다. 그것은 매우 일반적인 라이브러리입니다. 특별히 무엇을 사용하고 싶습니까? 또한 프로젝트에 대한 링크를 게시해야합니다. "Thrift"는 오픈 소스 프로젝트의 이름으로 잘못 선택되었으므로 Google은 잘하지 않습니다. –

답변

6

데이터 모델에 대한 자세한 정보는 제공하지 않지만 페이스 북, 트위터, 디그 또는 레드 닷 (reddit)와 유사한 작업을 수행하려는 경우 Cassandra는 그 회사가 모두 Cassandra를 사용하고 있다는 것을 알고 있기 때문에 적합합니다.

카산드라의 장점 중 하나는 별도의 캐싱 레이어가 필요하지 않다는 것입니다. 카산드라의 내장 키와 행 캐시, 그리고 규모에 맞게 컴퓨터를 추가하는 기능으로 인해 memcached가 불필요합니다.