4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

調査:ジャバのコンテンツ配布技術

Last updated at Posted at 2017-01-03

調査:ジャバのコンテンツ配布技術

「あなたとJAVA, 今すぐダウンロー」「ド」で有名な https://java.com/ja/ ですが、130億のデバイスにジャバを配布しつづけるそのサービスのスケールは、我々が普段扱うサービスと比較しても大きいといえるはずです。一体どのような技術が使われ、このようなスケールのジャバ配布が実現されているのでしょうか。本日はその核心に迫ってみたいと思います。

java.com は誰がホストしているのか

java.comのサービスはオラクルの新社屋にあるのでしょうか。これは単純にDNSから答えを出すことができました。

$ dig a java.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.51.amzn1 <<>> a java.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21399
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;java.com.                      IN      A

;; ANSWER SECTION:
java.com.               20      IN      A       23.212.82.138

;; Query time: 155 msec
;; SERVER: 172.31.0.2#53(172.31.0.2)
;; WHEN: Tue Jan  3 16:01:31 2017
;; MSG SIZE  rcvd: 42

$ dig -x 23.212.82.138

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.51.amzn1 <<>> -x 23.212.82.138
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3389
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;138.82.212.23.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
138.82.212.23.in-addr.arpa. 60  IN      PTR     a23-212-82-138.deploy.static.akamaitechnologies.com.

;; Query time: 137 msec
;; SERVER: 172.31.0.2#53(172.31.0.2)
;; WHEN: Tue Jan  3 16:01:37 2017
;; MSG SIZE  rcvd: 109

というわけで、java.com はakamaiを使っています。これは普通にNetStorageで契約した時と同じような名前のホストなので、残念ながらAkamaiのどのサービスを使っているかまではわかりません。

どんなサーバーを使っているのか

HTTPのヘッダを見てみましょう。

$ curl -H 'Accept-Encoding: gzip' -I https://java.com/ja/
HTTP/1.1 200 OK
Server: Oracle-Application-Server-11g
Last-Modified: Sat, 17 Sep 2016 01:00:22 GMT
device_type: Any
host_service: FutureTenseContentServer:11.1.1.8.0
X-Powered-By: Servlet/2.5 JSP/2.1
Content-Type: text/html; charset=UTF-8
Content-Language: en
X-Frame-Options: SAMEORIGIN
Vary: Accept-Encoding
Content-Encoding: gzip
Date: Tue, 03 Jan 2017 07:06:18 GMT
Content-Length: 20
Connection: keep-alive

Server: Oracle-Application-Server-11g というヘッダはOracle Fusion Middleware Application Server 11gから出てくるらしいです。正直ウェブのこと良く知らないんで、これがどういうものか謎ですが、邪悪な雰囲気は伝わってきます。また、host_service: FutureTenseContentServer:11.1.1.8.0 もCMSか何かっぽいんですが、ジャバサイトがほとんど更新されないところを見るとほんとうにこんなCMSなんていうものが必要なのか、疑問に思ってしまいます。

ちなみに、FutureTenseはFatWireに吸収され、FatWireはOracleに吸収されているらしいです。java.comを作る際のミーティングで「何か適当なCMS入手しておいて」と頼まれたのを勘違いして、CMSやってる会社を買っちゃったパターンでしょうか。謎は深まります。

ちなみに、NetStorageではリクエストヘッダにPragma: を入れると診断用のヘッダが返って来ますが、ジャバサイトではそういうことはありませんでした。いずれにしてもこのボリュームだとかなり特殊な契約になりそうなので、ジャバリークスからの報告待ちです。

結論

あなたとジャバをいつでもダウンロードできるようにする舞台裏、お楽しみ頂けたでしょうか。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?