Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@anatato-java

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

More than 3 years have passed since last update.

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

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

結論

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

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?