국경절 연휴 동안 12306번 티켓 구하셨나요? "고속철도 티켓 구매가 너무 어렵다", "왜 티켓이 발권된 후 기다려야 합니까?" 등의 불만이 있지만 중국철도고객서비스센터 12306 플랫폼은 2011년 6월 12일 출시 이후 13년 동안 자신도 모르게 고속철도를 이용하는 대부분의 승객들이 선호하는 티켓 구매 플랫폼이 되었습니다. 12306의 개발 역사를 돌이켜보면 티켓 예매 소프트웨어와의 지혜와 용기의 대결을 그린 '서사시'라고 할 수 있다.


2024년 국경일에 철도는 승객 수송이 최고조에 달했습니다.

모든 것은 12306이 설립된 시점부터 시작되어야 합니다. 중국은 2011년 6월 12일 첫 번째 베이징-텐진 도시간 철도 전자티켓을 판매하면서 공식적으로 철도망에서 티켓 판매를 시작했습니다. 불과 몇 달 만에 온라인 티켓 판매 범위가 베이징-상하이, 우한-광저우, 정저우-시안 및 기타 고속철도 노선을 포함하도록 급속히 확대되었습니다. 9월 30일 현재 전국 고속철도 티켓(G, D로 시작)은 12306에서 구매할 수 있습니다. 2011년 말까지 전국 기차표(Z, T, K로 시작)는 12306에서 구매할 수 있습니다. 불과 반년 만에 중국 철도망의 티켓 구매가 '처음부터'에서 '종합 대중화'로 도약했습니다!

그러나 철도망에서 티켓을 구매하는 참신함은 사라지지 않았으며 2012년 봄 축제가 조용히 다가왔습니다. 세계적으로 보기 드문 대규모 이주 행사인 춘절은 매년 중국 운송 산업에 전례 없는 압박을 가하고 있습니다. 이는 운송업계에 있어서 '큰 시험'이라고 할 수 있다. 그리고 12306의 첫 번째 시스템 충돌은 모두의 예상을 뛰어넘었습니다.

2012년 1월 5일부터 12306 홈페이지는 5일 연속 10억 건 이상의 조회수를 기록했으며, 방문 건수도 전월 대비 10배 이상 급증했다. 그 중 1월 9일 조회수는 14억 건을 돌파해 세계에서 가장 바쁜 웹사이트 중 하나가 됐다. 2011년 말 중국 인터넷 사용자는 5억 명에 불과하다는 사실을 알아야 한다.

이러한 접근 압력은 플랫폼 구축 초기에는 고려되지 않았습니다. 12306 시스템 구축 초기에 개발자는 항공권의 핵심 시스템 아키텍처와 인터넷 애플리케이션의 특성을 기반으로 캐싱 서비스, 사용자 관리, 항공권 조회, 주문 및 전자 항공권 처리 등 시스템을 위한 비교적 독립적인 여러 비즈니스 파티션과 3단계 네트워크 보안 도메인, 즉 외부 네트워크, 인트라넷 및 항공권 네트워크를 설계했습니다. 온라인 접속 전 스트레스 테스트에서는 사용자 로그인, 티켓 조회, 주문, 결제 등의 과정을 거쳤다. 시스템의 최대 거래 용량은 초당 34티켓이었습니다. 피크 기간 10시간을 기준으로 계산하면 티켓 판매량은 하루 120만 티켓의 설계 용량에 도달할 수 있습니다.

그러나 스트레스 테스트에서는 티켓을 잡아주는 소프트웨어인 "초대받지 않은 손님"이 누락되었습니다. 티켓 확보 소프트웨어는 시스템의 빠른 응답을 사용하여 사용자가 페이지를 지속적으로 쿼리하고 새로 고치는 작업을 완료하도록 돕는 브라우저 기반 플러그인입니다. 열차의 남은 티켓에 대해 고주파 조회를 사용하고 개인 정보를 자동으로 입력하며 동시에 여러 계정을 운영함으로써 사용자가 수동으로 티켓을 구매하는 것보다 빠르게 티켓 구매 프로세스를 완료합니다.


플랫폼에서 "티켓 없음"으로 고통받는 승객은 모든 것이 안전한지 확인하기 위해 티켓 잡기 소프트웨어의 도움을 구하는 데에만 돈을 쓸 수 있습니다.

12306은 티켓 예매 소프트웨어로 인한 막대한 트래픽에 대한 충분한 추정 부족으로 인해 다수의 티켓 예매 소프트웨어에 취약했다. 12306 웹사이트가 마비되고, 다수의 사용자가 로그인할 수 없었고, 페이지 새로고침 시간이 최대 30분까지 걸렸다. 예약 및 결제 후 티켓을 구매할 수 없습니다. 많은 티켓 구매자들은 12306 웹사이트가 "명목상"이라고 무기력하게 비난했습니다.

하지만 돌아갈 수 없었기에 12306 티켓팅팀은 싸울 수밖에 없었습니다. 대역폭 부족 문제에 대응하여 12306 티켓팅팀은 신속한 결정을 내리고 대역폭을 600MB에서 1000MB로 빠르게 늘렸고, 곧 1500MB로 늘렸습니다. 티켓팅팀은 온라인 티켓팅 데이터를 모니터링 및 분석한 결과, 온라인에서 대량의 티켓을 구매한 사용자가 매우 적고, 하루에 구매한 티켓의 총 매수가 100매를 초과한 것을 확인했습니다. 12306 티켓팅팀에서는 공정한 티켓 구매를 보장하기 위해 1월 5일부터 온라인 티켓 구매 프로세스를 조정했습니다. 사용자가 티켓을 성공적으로 구매한 후 시스템은 사용자를 강제로 로그아웃시키고, 티켓을 다시 구매할 때 다시 로그인해야 합니다.

전 철도부도 '외국 원조' 유치를 생각했다. 당시 모든 사이트 중에서 '단기간 트래픽 급증에도 무너지지 않았다'는 풍부한 경험을 가진 사이트는 '더블 일레븐' 시절 한창 꽃피웠던 티몰과 타오바오뿐이었다. 따라서 Alibaba Group은 17명의 기술 엘리트를 파견하여 12306 웹사이트의 최적화 및 개선을 지원하는 프로젝트 팀을 구성했습니다. 두 팀은 12306 웹사이트의 사용자 경험을 크게 개선하기 위해 협력했습니다. 이 시스템의 일일 티켓 판매량은 1월 초 65만 장에서 100만 장 이상으로 증가했으며, 1월 20일 일일 티켓 판매량 119만2000장이라는 기록을 세웠다.


Tmall Taobao Mall의 "Double 11 Global Shopping Carnival" 광고가 상하이 쉬자후이(Xujiahui) 지하철역을 장악하여 사용자 트래픽을 놓고 경쟁하고 있습니다. ICPhoto

춘절 여행에 대한 이러한 '극단적인 테스트'가 출시된 지 1년도 채 되지 않아 12306 아키텍처에 대한 토론과 논쟁이 인터넷에도 나타났습니다. 당시 철도부는 각계의 의견을 경청하고, 문제의 원인을 꼼꼼히 정리한 결과, 주로 항공권 문의 및 예매에 따른 문제라는 결론을 내렸다. 단일/전자 항공권 비즈니스 분할은 처리 용량이 부족하여 피크 시간대에 동시 액세스 요청이 많아 응답 시간이 길어집니다. 또한, 각 비즈니스 파티션을 제대로 격리할 수 없어 시스템 내부에서 외부로 "눈사태" 효과가 발생하여 웹 사이트 정체가 발생하고 사용자의 티켓 구매 경험에 영향을 미칩니다.

위의 문제와 이유에 대응하여 개발자들은 티켓 조회 및 거래 처리의 응답 속도 향상, 백엔드 시스템의 확장성 향상, 온라인 대기열 방식 변경, 피크 시간대의 중앙 집중식 티켓 릴리스로 인한 대역폭 압박 감소를 위한 아키텍처 최적화 및 재구성 아이디어에 집중했습니다. 동시에 핵심 비즈니스를 최대한 분리하여 비즈니스 링크 간의 강력한 상관관계를 줄입니다. 구체적인 내용은 다음과 같습니다:

우선, 동시 질의 능력이 대폭 향상되어야 한다. 12306은 인메모리 컴퓨팅 데이터베이스를 사용하여 기존 데이터베이스를 대체하여 티켓 쿼리의 응답 속도를 초당 1,000회 미만에서 초당 20,000회 이상으로 높이고 응답 시간을 원래 1초에서 10ms로 줄여 사용자가 열차 번호와 남은 티켓을 빠르게 얻을 수 있도록 합니다.

둘째, 성수기에는 이용자들이 '혼잡 없이 주문을 위해 줄을 서도록' 할 필요가 있다. 이를 위해 12306은 트랜잭션 처리 큐잉 시스템을 구축했습니다. 대기열의 주문 요청 접수 용량이 초당 100,000건을 초과합니다. 사용자는 티켓 판매가 가장 많은 시간대에 주문 작업을 신속하게 완료하고 시스템이 순차적으로 처리할 때까지 기다릴 수 있습니다. 대기 과정에서 대기 상태(처리 대기 시간)를 조회할 수 있습니다. 인메모리 컴퓨팅 데이터베이스는 큐잉 시스템에도 사용됩니다.

셋째, 주문/e-티켓은 노드, 데이터베이스, 테이블로 변환되며, 원래의 1노드, 1데이터베이스, 1테이블이 3노드, 30데이터베이스, 30테이블로 분할됩니다. 온라인 관련 작업은 각 노드와 데이터베이스 테이블로 분산됩니다. 이러한 방식으로 사용자의 웹사이트 티켓 예약 요청에 더 빠르게 응답하고 처리할 수 있습니다.

마지막으로 티켓 예매와 티켓 수령 업무가 분리되어 다양한 비즈니스 노드(티켓 판매 노드와 티켓 수령 노드)가 온라인 티켓 판매와 오프라인 티켓 수령 서비스를 수행합니다. 주문/e-티켓 생성과 쿼리 읽기 및 쓰기는 분리되어 있으며, 인메모리 컴퓨팅 데이터베이스를 사용하여 주문/e-티켓을 중앙에 저장합니다. 주문 조회의 응답 속도가 초당 약 200회에서 초당 5,000회 이상으로 증가하여 주문/전자 항공권 조회 효율성이 크게 향상되었습니다.

온라인 전환 전 스트레스 테스트에서 최적화된 아키텍처 이후의 시스템은 초당 최대 300장의 티켓을 처리할 수 있는 능력을 달성했으며, 이는 일일 티켓 판매량 500만 건의 비즈니스 요구를 충족할 수 있습니다. 2013년 춘절 기간 동안 최적화된 구조를 갖춘 12306 사이트의 일일 티켓 판매량은 364만 장으로 전체 티켓 판매량의 40%를 차지했다. 티켓 판매량은 2012년 춘절 최고치(119만)의 3배가 넘었다.


2013년 2월 14일, 부모와 자녀는 안후이성 화이베이 기차역에서 귀국길을 기다리고 있었습니다. IC사진

그러나 12306 플랫폼에 대한 수요는 여전히 빠르게 증가하고 있으며 원래의 개선 사항은 빠르게 한계에 도달하고 있습니다. 2013년 국경절 골든위크 기간에는 12306장의 인터넷 티켓 판매량이 460만장에 달해 다시 한 번 시스템 처리 상한선에 근접했다. 또한, 3G 네트워크의 한계(4G 네트워크는 첫해였으나 아직 대중화되지 않음)와 인터넷 사용자 수의 급격한 증가로 인해 성수기에는 외부 네트워크 입구의 대역폭이 부족하여 더 이상 인터넷 티켓 판매 증가 요구를 충족시킬 수 없었습니다. 또한 철도 티켓 판매의 주요 채널인 인터넷 티켓 판매 시스템의 단일 센터 운영 모델은 더 이상 비즈니스 보안 및 신뢰성 요구를 충족할 수 없습니다.

이를 위해 2013년 말부터 12306 웹사이트의 두 번째 구조 최적화 라운드가 시작되었습니다.

사용자 로그인, 자주 사용하는 연락처 조회 등의 서비스를 메모리 데이터베이스로 마이그레이션하여 관련 서비스의 처리 성능 및 신뢰성을 향상시킵니다.

철도과학원 제2 생산센터는 중국 국영철도그룹의 기존 제1 생산센터와 '이중 활성'을 달성하여 웹사이트의 보안과 신뢰성을 향상하고 주문/전자 항공권 클러스터의 처리 용량을 두 배로 늘리기 위해 건설되었습니다. 주문/전자 항공권 클러스터가 10개의 노드 그룹, 100개의 라이브러리, 100개의 테이블로 확장되었습니다.

퍼블릭 클라우드에 티켓 조회 서비스를 배포하세요. 정책 구성을 통해 티켓 조회 트래픽을 언제든지 퍼블릭 클라우드로 전환하여 티켓 판매가 가장 많은 기간 동안 웹사이트의 처리 리소스 및 대역폭에 대한 부담을 완화할 수 있습니다.

온라인 접속 전 스트레스 테스트를 통해 시스템이 하루 1,000만 티켓이라는 설계된 티켓 판매 용량을 충족할 수 있음을 확인했습니다. 2015년 춘절 여행 성수기에는 실제 티켓 판매 속도가 초당 1,000장(시간당 약 360만 장)을 넘었습니다. 퍼블릭 클라우드는 2015년 춘제 기간 동안 쿼리 요청의 최대 75%를 전환했으며, 웹사이트의 외부 티켓 쿼리 서비스 용량은 3배 증가했습니다. 12306 웹사이트는 2015년 춘절 여행 성수기 동안 180억 건 이상의 티켓 조회 서비스를 처리했으며 평균 응답 속도는 초당 300,000회 이상이었습니다.

설날 여행의 '극심한 압박'에 대비한 12306의 수용 능력이 두 배로 늘어나면서, 한때 설계팀과 운영팀의 골칫거리였던 '티켓 잡기 플러그인'이 불안정성의 가장 큰 요인이 됐다. 12306 팀은 티켓 구매 시 티켓 예매 소프트웨어를 사용하는 것에 대해 반복적으로 항의했지만, 티켓 정보를 자동으로 자주 새로 고치고 티켓을 예매하기 위해 보고서를 자동으로 작성하는 작은 소프트웨어가 인터넷에 여전히 끝없이 존재합니다. 이러한 유형의 소프트웨어는 티켓 정보를 빠르게 새로 고쳐 사용자가 가능한 한 빨리 티켓을 얻을 수 있도록 돕는 것을 목표로 티켓 잡기 성공률을 향상시킵니다. 이는 시장 수요에 부합하기는 하지만 수동으로 티켓을 구매하는 대중을 심각하게 방해하고 티켓 구매의 공정성에 영향을 미치기도 합니다. 성공률을 높이기 위해 사용자는 승객의 개인 정보를 시스템에 미리 입력해야 하는 경우가 많습니다. '티켓 잡기'를 두려워한 이들은 개인정보를 직접 유출한다. ‌

이러한 배경에서 12306 팀은 시스템의 최대 처리 용량을 지속적으로 최적화하는 것 외에도 실명 시스템, 복잡한 인증 코드, 휴대폰 인증 코드 및 기타 기능을 도입하는 등 목표적인 변경도 수행해야 합니다. 그러나 여전히 티켓 예매 소프트웨어의 만연한 사용을 억제하지 못하여 춘절 및 국경일 황금연휴 기간 동안 네트워크 티켓 구매가 부진한 현상이 발생했습니다.

2019년 춘절까지 12306은 대기표 구매 서비스 기능을 시범적으로 운영했습니다. 이 기능은 수동 사용자 주문과 티켓 획득 소프트웨어 사용자 주문을 동일한 "상금 풀"에 넣어 모든 사람이 공정하게 경쟁할 수 있도록 하며 시스템은 무작위로 "승자"를 선택하여 후속 티켓 구매 프로세스를 완료합니다. 이런 식으로 화면이 아무리 빨리 새로 고쳐져도 티켓 예매 소프트웨어는 전혀 이점이 없으며 이로 인해 티켓 예매 소프트웨어의 인기가 점차 억제되었습니다.

속담처럼 "악마는 길만큼 좋다." 대기자 명단 티켓 모델은 티켓 확보 소프트웨어에 대해 12306에게 큰 타격을 줍니다. 그러나 관심에 따라 티켓 확보 소프트웨어는 대기자 명단 티켓 상금 풀에서 티켓 확보 소프트웨어 주문의 "승리 확률"을 높이는 등 분명히 이 모델에 대해 계속해서 불공정하게 경쟁할 것입니다. 우리 12306 팀은 어려움을 극복하고 세계에서 가장 많은 방문과 거래 건수를 갖춘 티켓팅 시스템을 유지할 수 있다고 믿습니다. 중국의 나날이 발전하는 철도망과 주민들의 여행 수요에 맞춰 양당의 재치와 용기의 싸움은 여전히 ​​진화하고 있습니다.