Chúng ta đã vượt qua Bức tường lửa vĩ đại của Trung Quốc như thế nào (Phần 3)

Hi!
Mọi câu chuyện hay đều kết thúc. Và câu chuyện của chúng tôi về việc tìm ra giải pháp nhanh chóng vượt qua Tường lửa Trung Quốc cũng không phải là ngoại lệ. Vì vậy, tôi vội chia sẻ với bạn điều cuối cùng, phần cuối cùng về chủ đề này.

Trong phần trước, chúng tôi đã nói về nhiều băng ghế thử nghiệm mà chúng tôi đã nghĩ ra và kết quả mà chúng mang lại. Và chúng tôi đã quyết định xem nên thêm gì vào CDN! cho độ nhớt vào sơ đồ của chúng tôi.

Tôi sẽ cho bạn biết cách chúng tôi thử nghiệm Alibaba Cloud CDN, Tencent Cloud CDN và Akamai cũng như kết quả mà chúng tôi đạt được. Và tất nhiên, hãy tóm tắt.

Chúng ta đã vượt qua Bức tường lửa vĩ đại của Trung Quốc như thế nào (Phần 3)

CDN trên nền tảng đám mây của Alibaba

Chúng tôi được lưu trữ trên Đám mây của Alibaba và sử dụng IPSEC và CEN từ chúng. Sẽ là hợp lý nếu bạn thử giải pháp của họ trước.

Alibaba Cloud có hai loại sản phẩm có thể phù hợp với chúng tôi: CDN и DCDN. Tùy chọn đầu tiên là CDN cổ ​​điển cho một tên miền cụ thể (tên miền phụ). Tùy chọn thứ hai là viết tắt của Tuyến động cho CDN (mình gọi là CDN động), nó có thể kích hoạt ở chế độ Full-site (đối với các miền ký tự đại diện), nó cũng lưu trữ nội dung tĩnh và tăng tốc nội dung động trên chính nó, tức là động của trang cũng sẽ được tải thông qua nhà cung cấp mạng nhanh. Điều này rất quan trọng đối với chúng tôi, vì về cơ bản trang web của chúng tôi rất năng động, nó sử dụng nhiều tên miền phụ và sẽ thuận tiện hơn khi thiết lập CDN một lần cho “dấu hoa thị” - *.semrushchina.cn.

Chúng tôi đã thấy sản phẩm này trong giai đoạn đầu của dự án Trung Quốc, nhưng sau đó nó vẫn chưa hoạt động và các nhà phát triển đã hứa rằng sản phẩm sẽ sớm có sẵn cho tất cả khách hàng. Và anh ấy đã làm.

Trong DCDN bạn có thể:

  • định cấu hình chấm dứt SSL bằng chứng chỉ của bạn,
  • cho phép tăng tốc nội dung động,
  • cấu hình linh hoạt bộ nhớ đệm của các tệp tĩnh,
  • xóa bộ nhớ đệm,
  • chuyển tiếp ổ cắm web,
  • cho phép nén và thậm chí cả Trình làm đẹp HTML.

Nhìn chung, mọi thứ đều giống như với người lớn và các nhà cung cấp CDN lớn.

Sau khi Origin (nơi mà các máy chủ biên CDN sẽ đến) được chỉ định, tất cả những gì còn lại là tạo CNAME cho dấu hoa thị, tham chiếu all.semrushchina.cn.w.kunluncan.com (CNAME này đã được nhận trong bảng điều khiển Đám mây của Alibaba) và CDN sẽ hoạt động.

Dựa trên kết quả thử nghiệm, CDN này đã giúp chúng tôi rất nhiều. Các số liệu thống kê được hiển thị dưới đây.

phán quyết
Thời gian hoạt động
trung tuyến
75 phần trăm
95 phần trăm

CloudFlare
86.6
18s
30s
60s

IPsec
99.79
18s
21s
30s

CEN
99.75
16s
21s
27s

CEN/IPsec + GLB
99.79
13s
16s
25s

Ali CDN + CEN/IPsec + GLB
99.75
10s
12.8s
17.3s

Đây là những kết quả rất tốt, đặc biệt nếu bạn so sánh chúng với những con số lúc đầu. Nhưng chúng tôi biết rằng quá trình kiểm tra trình duyệt của phiên bản Mỹ của trang web www.semrush.com của chúng tôi chạy từ Hoa Kỳ với thời gian trung bình là 8.3 giây (một giá trị rất gần đúng). Có phòng để nâng cấp. Hơn nữa, cũng có những nhà cung cấp CDN rất thú vị để thử nghiệm.

Vì vậy, chúng tôi dễ dàng chuyển sang một gã khổng lồ khác ở thị trường Trung Quốc - Tencent.

Đám mây Tencent

Tencent chỉ đang phát triển đám mây của mình - có thể thấy điều này từ một số ít sản phẩm. Trong khi sử dụng nó, chúng tôi muốn kiểm tra không chỉ CDN của họ mà còn cả cơ sở hạ tầng mạng của họ nói chung:

  • họ có cái gì tương tự như CEN không?
  • IPSEC hoạt động như thế nào đối với họ? Nó có nhanh không, thời gian hoạt động là bao lâu?
  • họ có Anycast không?

Chúng ta đã vượt qua Bức tường lửa vĩ đại của Trung Quốc như thế nào (Phần 3)

Chúng ta hãy xem xét những câu hỏi này một cách riêng biệt.

CEN tương tự

Tencent có một sản phẩm Mạng kết nối đám mây (CCN), cho phép bạn kết nối các VPC từ các khu vực khác nhau, bao gồm các khu vực trong và ngoài Trung Quốc. Sản phẩm hiện đang ở giai đoạn thử nghiệm nội bộ và bạn cần tạo một vé yêu cầu kết nối với sản phẩm. Chúng tôi đã học được từ bộ phận hỗ trợ rằng các tài khoản toàn cầu (chúng tôi không nói về công dân hoặc pháp nhân Trung Quốc) không thể tham gia vào chương trình thử nghiệm beta và nói chung là kết nối một khu vực bên trong Trung Quốc với một khu vực bên ngoài. Tỷ số 1-0 nghiêng về Ali Cloud

IPSEC

Khu vực cực nam của Tencent là Quảng Châu. Chúng tôi đã lắp ráp một đường hầm và kết nối nó với khu vực Hồng Kông trong GCP (khi đó khu vực này đã có sẵn). Đường hầm thứ hai ở Ali Cloud từ Thâm Quyến tới Hong Kong cũng được nâng lên cùng thời điểm. Hóa ra thông qua mạng Tencent, độ trễ đến Hồng Kông nhìn chung tốt hơn (10ms) so với từ Thâm Quyến đến Hồng Kông đến Ali (120ms - cái gì?). Nhưng điều này không hề đẩy nhanh tốc độ hoạt động của trang web nhằm hoạt động thông qua Tencent và đường hầm này, bản thân điều này đã là một sự thật đáng kinh ngạc và một lần nữa chứng minh điều sau: độ trễ - đối với Trung Quốc, đây không phải là một chỉ báo thực sự có giá trị lưu ý khi xây dựng giải pháp vượt tường lửa Trung Quốc.

Tăng tốc Internet Anycast

Một sản phẩm khác cho phép bạn làm việc qua IP Anycast là AIA. Nhưng nó cũng không có sẵn cho các tài khoản toàn cầu, vì vậy tôi sẽ không nói cho bạn biết về nó, nhưng biết rằng một sản phẩm như vậy tồn tại có thể hữu ích.

Nhưng thử nghiệm CDN cho thấy một số kết quả khá thú vị. CDN của Tencent không thể được kích hoạt trên toàn bộ trang web, chỉ trên các miền cụ thể. Chúng tôi đã tạo tên miền và gửi lưu lượng truy cập đến chúng:

Chúng ta đã vượt qua Bức tường lửa vĩ đại của Trung Quốc như thế nào (Phần 3)

Hóa ra CDN này có chức năng sau: Tối ưu hóa giao thông xuyên biên giới. Tính năng này sẽ giảm chi phí khi lưu lượng truy cập đi qua tường lửa của Trung Quốc. BẰNG Xuất xứ Địa chỉ IP của Google GLB (GLB Anycast) đã được chỉ định. Vì vậy, chúng tôi muốn đơn giản hóa kiến ​​trúc dự án.

Kết quả rất tốt - ngang bằng với Ali Cloud CDN, và ở một số nơi thậm chí còn tốt hơn. Điều này thật đáng ngạc nhiên, vì nếu thử nghiệm thành công, bạn có thể từ bỏ một phần đáng kể cơ sở hạ tầng, đường hầm, CEN, máy ảo, v.v.

Chúng tôi không vui mừng được lâu vì một vấn đề đã được tiết lộ: các thử nghiệm trong Catchpoint không thành công đối với nhà cung cấp Internet China Mobile. Từ bất kỳ vị trí nào, chúng tôi đều nhận được thời gian chờ thông qua CDN của Tencent. Sự tương ứng với hỗ trợ kỹ thuật không dẫn đến bất cứ điều gì. Chúng tôi đã cố gắng giải quyết vấn đề này trong khoảng một ngày nhưng không có tác dụng gì.

Tôi đang ở Trung Quốc vào thời điểm đó nhưng không thể tìm thấy Wi-Fi công cộng trên mạng của nhà cung cấp này để đích thân xác minh sự cố. Nếu không thì mọi thứ trông nhanh và tốt.
Tuy nhiên, do China Mobile là một trong ba nhà mạng lớn nhất nên chúng tôi buộc phải trả lại lưu lượng truy cập cho Ali CDN.
Nhưng nhìn chung, đây là một giải pháp khá thú vị, đáng được thử nghiệm và khắc phục sự cố này lâu hơn.

Akamai

Nhà cung cấp CDN cuối cùng mà chúng tôi đã thử nghiệm là Akamai. Đây là một nhà cung cấp lớn có mạng lưới ở Trung Quốc. Tất nhiên là chúng tôi không thể vượt qua được.

Chúng ta đã vượt qua Bức tường lửa vĩ đại của Trung Quốc như thế nào (Phần 3)

Ngay từ đầu, chúng tôi đã đồng ý với Akamai về một khoảng thời gian dùng thử để có thể chuyển đổi miền và xem nó sẽ hoạt động như thế nào trên mạng của họ. Tôi sẽ mô tả kết quả của tất cả các bài kiểm tra dưới dạng “Điều tôi thích” và “Điều tôi không thích” và tôi cũng sẽ đưa ra kết quả kiểm tra.

Những gì chúng tôi thích:

  • Những người đến từ Akamai rất hữu ích trong mọi câu hỏi và đồng hành cùng chúng tôi trong mọi giai đoạn thử nghiệm. Chúng tôi đã không ngừng cố gắng cải thiện điều gì đó về phía mình. Họ đã đưa ra lời khuyên kỹ thuật tốt.
  • Akamai chậm hơn khoảng 10-15% so với giải pháp của chúng tôi thông qua Ali Cloud CDN. Điều ấn tượng là trong Origin cho Akamai, chúng tôi đã chỉ định địa chỉ IP của GLB, nghĩa là lưu lượng truy cập không đi qua giải pháp của chúng tôi (có khả năng chúng tôi có thể bỏ qua một phần cơ sở hạ tầng). Tuy nhiên, kết quả thử nghiệm cho thấy giải pháp này kém hơn phiên bản hiện tại của chúng tôi (kết quả so sánh bên dưới).
  • Đã thử nghiệm cả Origin GLB và Origin tại Trung Quốc. Cả hai tùy chọn đều gần giống nhau.
  • Tuyến đường chắc chắn (tối ưu hóa định tuyến tự động). Bạn có thể lưu trữ một đối tượng thử nghiệm trên Origin và các máy chủ Akamai Edge sẽ cố gắng lấy nó (GET thông thường). Đối với những yêu cầu này, tốc độ và các số liệu khác được đo lường, dựa vào đó mạng Akamai tối ưu hóa các tuyến đường để lưu lượng truy cập đến trang web của chúng tôi nhanh hơn và rõ ràng là việc bật tính năng này thực sự có tác động mạnh mẽ đến tốc độ của trang web.
  • Phiên bản cấu hình trong giao diện web rất thú vị. Bạn có thể thực hiện So sánh các phiên bản, xem khác biệt. Xem các phiên bản trước.
  • Bạn chỉ có thể tung ra phiên bản mới trước tiên trên mạng Akamai Staging - cùng mạng với phiên bản sản xuất, chỉ có điều cách này sẽ không ảnh hưởng đến người dùng thực. Đối với thử nghiệm này, bạn cần giả mạo bản ghi DNS trên máy cục bộ của mình.
  • Tốc độ tải xuống rất nhanh qua mạng của họ đối với các tệp tĩnh lớn và dường như là bất kỳ tệp nào khác. Một file từ cache “lạnh” được truy xuất nhanh hơn nhiều lần so với cùng một file từ cache “lạnh” của Ali CDN. Từ bộ nhớ đệm “nóng”, tốc độ đã như nhau, cộng hoặc trừ.

Kiểm tra CDN của Ali:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://en.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0   513k      0 --:--:--  0:00:11 --:--:--  526k
time_namelookup:  0.004286
time_connect:  0.030107
time_appconnect:  0.117525
time_pretransfer:  0.117606
time_redirect:  0.000000
time_starttransfer:  0.840348
----------
time_total:  11.208119
----------
size_download:  5895467 Bytes
speed_download:  525999.000B/s

Kiểm tra Akamai:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://www.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0  1824k      0 --:--:--  0:00:03 --:--:-- 1825k
time_namelookup:  0.509005
time_connect:  0.528261
time_appconnect:  0.577235
time_pretransfer:  0.577324
time_redirect:  0.000000
time_starttransfer:  1.327013
----------
time_total:  3.154850
----------
size_download:  5895467 Bytes
speed_download:  1868699.000B/s

Chúng tôi nhận thấy rằng tình huống trong ví dụ trên phụ thuộc vào nhiều yếu tố khác nhau. Tại thời điểm viết bài này, tôi đã chạy thử lại. Kết quả cho cả hai nền tảng là gần như nhau. Điều này cho chúng ta biết rằng Internet ở Trung Quốc, ngay cả đối với các nhà khai thác và nhà cung cấp dịch vụ đám mây lớn, đôi khi hoạt động khác nhau.

Đối với điểm trước, tôi sẽ thêm một điểm cộng lớn cho Akamai: nếu Ali hiển thị các hiệu suất nhấp nháy tương tự với hiệu suất cao và hiệu suất rất thấp (điều này áp dụng cho Ali CDN, Ali CEN và Ali IPSEC), thì Akamai, mọi lúc, không vấn đề gì. cách tôi kiểm tra mạng của họ, mọi thứ đều hoạt động ổn định.
Akamai có phạm vi phủ sóng rộng rãi ở Trung Quốc và hoạt động thông qua nhiều nhà cung cấp.

Điều gì không thích:

  • Tôi không thích giao diện web và cách nó hoạt động - nó quá tệ. Nhưng về cơ bản thì bạn sẽ quen dần với nó (có thể vậy).
  • Kết quả kiểm tra còn tệ hơn trang web của chúng tôi.
  • Có nhiều lỗi trong quá trình kiểm tra hơn trên trang web của chúng tôi (thời gian hoạt động bên dưới).
  • Chúng tôi không có máy chủ DNS riêng ở Trung Quốc. Do đó có nhiều lỗi trong quá trình kiểm tra do hết thời gian phân giải DNS.
  • Họ không cung cấp dải IP của mình -> không có cách nào để đăng ký đúng dải IP set_real_ip_from trên máy chủ của chúng tôi.

Số liệu (~3626 lượt chạy; tất cả số liệu ngoại trừ Thời gian hoạt động, tính bằng mili giây; số liệu thống kê trong một khoảng thời gian):

Nhà cung cấp CDN
trung tuyến
75%
95%
Phản ứng
Phản hồi của trang web
Thời gian hoạt động
DNS
Kết nối
Đợi
Phụ tải
SSL

AliCDN
9195
10749
17489
1,715
10,745
99.531
57
17
927
479
200

Akamai
9783
11887
19888
2,352
11,550
98.980
424
91
1408
381
50

Phân phối theo phần trăm (tính bằng mili giây):

Phần trăm
Akamai
AliCDN

10
7,092
6,942

20
7,775
7,583

30
8,446
8,092

40
9,146
8,596

50
9,783
9,195

60
10,497
9,770

70
11,371
10,383

80
12,670
11,255

90
15,882
13,165

100
91,592
91,596

Kết luận là thế này: tùy chọn Akamai khả thi nhưng không mang lại sự ổn định và tốc độ như giải pháp của chúng tôi kết hợp với Ali CDN.

ghi chú nhỏ

Một số khoảnh khắc không có trong câu chuyện, nhưng tôi cũng muốn viết về chúng.

Bắc Kinh + Tokyo và Hồng Kông

Như tôi đã nói ở trên, chúng tôi đã thử nghiệm đường hầm IPSEC tới Hồng Kông (HK). Nhưng chúng tôi cũng đã thử nghiệm CEN với HK. Nó có chi phí thấp hơn một chút và tôi đang tự hỏi nó sẽ hoạt động như thế nào giữa các thành phố với khoảng cách ~100 km. Điều thú vị là độ trễ giữa các thành phố này cao hơn 100ms so với phiên bản gốc của chúng tôi (đến Đài Loan). Tốc độ, sự ổn định cũng tốt hơn cho Đài Loan. Kết quả là chúng tôi đã rời HK làm khu vực IPSEC dự phòng.

Ngoài ra, chúng tôi đã thử cài đặt bản cài đặt sau:

  • chấm dứt hợp đồng với khách hàng ở Bắc Kinh,
  • IPSEC và CEN tới Tokyo,
  • trong Ali CDN, máy chủ ở Bắc Kinh được chỉ định là nguồn gốc.

Sơ đồ này không quá ổn định, mặc dù xét về tốc độ thì nhìn chung nó không thua kém giải pháp của chúng tôi. Về đường hầm, tôi đã thấy những đợt sụt giảm không liên tục ngay cả đối với CEN, đáng lẽ phải ổn định. Vì vậy, chúng tôi quay lại phương án cũ và dỡ bỏ dàn dựng này.

Dưới đây là số liệu thống kê về độ trễ giữa các khu vực khác nhau cho các kênh khác nhau. Có lẽ ai đó sẽ quan tâm đến nó.

IPsec
Ali cn-beijing <—> GCP châu á-đông bắc1 — 193ms
Ali cn-Thâm Quyến <—> GCP asia-east2 — 91ms
Ali cn-shenzhen <—> GCP us-east4 — 200ms

CEN
Ali cn-bắc kinh <—> Ali ap-đông bắc-1 — 54ms (!)
Ali cn-Thâm Quyến <—> Ali cn-hongkong — 6ms (!)
Ali cn-Thâm Quyến <—> Ali us-east1 — 216ms

Thông tin chung về Internet tại Trung Quốc

Ngoài những vấn đề về Internet được mô tả ở phần đầu, trong phần đầu tiên của bài viết.

  • Internet ở Trung Quốc khá nhanh ở bên trong.
    • Kết luận được đưa ra dựa trên việc thử nghiệm các mạng Wi-Fi công cộng ở nhiều địa điểm khác nhau, nơi những mạng này được nhiều người sử dụng.
    • Tốc độ tải xuống và tải lên các máy chủ bên trong Trung Quốc lần lượt là khoảng 20 Mbit/s và 5-10 Mbit/s.
    • Tốc độ tới các máy chủ bên ngoài Trung Quốc rất thấp, dưới 1 Mbit/s.
  • Internet ở Trung Quốc không ổn định lắm.
    • Đôi khi các trang web có thể mở nhanh, đôi khi chậm (vào cùng thời điểm trong ngày vào các ngày khác nhau), miễn là cấu hình không thay đổi. Chúng tôi đã quan sát điều này qua ví dụ của semrushchina.cn. Điều này có thể là do Ali CDN, nó cũng hoạt động theo cách này cách kia tùy thuộc vào thời gian trong ngày, vị trí của các ngôi sao, v.v.
  • Internet di động hầu như có mặt ở mọi nơi 4G hoặc 4G+. Bắt nó trong tàu điện ngầm, thang máy - tóm lại là ở mọi nơi.
  • Có chuyện hoang đường rằng người dùng Trung Quốc chỉ tin tưởng các miền trong vùng .cn. Chúng tôi đã học được điều này trực tiếp từ người dùng.
    • Bạn có thể thấy cách http://baidu.cn chuyển hướng đến www.baidu.com (ở cả Trung Quốc đại lục).
  • Nhiều tài nguyên thực sự bị chặn. Nguyên thủy: google.com, Facebook, Twitter. Nhưng nhiều tài nguyên của Google hoạt động (tất nhiên, không phải trên tất cả Wi-Fi và VPN đều không được sử dụng (về phía bộ định tuyến, điều đó là chắc chắn).
  • Nhiều lĩnh vực “kỹ thuật” của các tập đoàn bị phong tỏa cũng đang hoạt động. Điều này có nghĩa là bạn không nên luôn luôn cắt bỏ tất cả Google và các tài nguyên dường như bị chặn khác một cách liều lĩnh. Bạn cần tìm kiếm một số danh sách các tên miền bị cấm.
  • Họ chỉ có ba nhà khai thác Internet chính: China Unicom, China Telecom, China Mobile. Thậm chí còn có những cái nhỏ hơn nhưng thị phần không đáng kể

Phần thưởng: sơ đồ giải pháp cuối cùng

Chúng ta đã vượt qua Bức tường lửa vĩ đại của Trung Quốc như thế nào (Phần 3)

Tổng

Một năm đã trôi qua kể từ khi bắt đầu dự án. Chúng tôi bắt đầu với thực tế là trang web của chúng tôi thường từ chối hoạt động bình thường ở Trung Quốc và chỉ cần GET Curl mất 5.5 giây.

Sau đó, với các chỉ báo này trong giải pháp đầu tiên (Cloudflare):

phán quyết
Thời gian hoạt động
trung tuyến
75 phần trăm
95 phần trăm

CloudFlare
86.6
18s
30s
60s

Cuối cùng chúng tôi đã đạt được kết quả sau (thống kê cho tháng trước):

phán quyết
Thời gian hoạt động
trung tuyến
75 phần trăm
95 phần trăm

Ali CDN + CEN/IPsec + GLB
99.86
8.8s
9.5s
13.7s

Như bạn có thể thấy, chúng tôi vẫn chưa thể đạt được 100% thời gian hoạt động, nhưng chúng tôi sẽ nghĩ ra điều gì đó và sau đó chúng tôi sẽ cho bạn biết về kết quả trong một bài viết mới :)

Tôn trọng những người đọc hết ba phần. Tôi hy vọng bạn thấy tất cả những điều này cũng thú vị như tôi đã thấy khi tôi làm nó.

PS Các phần trước

Часть 1
Часть 2

Nguồn: www.habr.com

Thêm một lời nhận xét