1日4000万件、それを0.1秒の処理で裁いてシステムが落ちないSuicaって凄いよね

スイスイ〜
300
ちょまど🎀エンジニア兼マンガ @chomado

Suica 凄い! ・凄まじい数の処理をさばく(1日4000万件) ・凄まじい速さで処理 (0.1秒以内) ・落ちない 英国にいた頃オイスターカードっていう交通系ICカード使ってたけど、日本ほど速くなく改札が開くまで少し待つ感じだった ー Suicaのシステムがいかに凄いか仕組みを解説 tatase.hatenadiary.jp/entry/2015/11/…

2018-12-27 18:12:49
リンク 炎と硝煙にむせる開発現場から Suicaのシステムがいかにすごいか仕組みを徹底解説 - 炎と硝煙にむせる開発現場から Suicaの凄さ サービスを落とさないための「自立分散高速処理技術!」 ものすごい処理量をこなす緻密な速度改善 お金を扱うからこそ間違わない仕組み 当時は最先端の非接触ICカードを採用 非接触ICカードの歴史 年寄りも当たり前に使えるサービス だからSuicaは6000万枚も普及した まとめ Suicaの凄さ ものすごい処理量(1日4000万件) 全然サービスが落ちない 年寄りも使っている Suicaがない社会なんて今や想像できないですよね?東京でSuica持ってない人はいないくらい普及していますし、レス 1288 users 730
ちょまど🎀エンジニア兼マンガ @chomado

ロンドンの改札はこんな感じだよ。 交通系ICカードをかざして、通って、 ゲート閉じて、ちょっと待ってから 次の人のカードが反応する感じ。 少し待たなきゃいけないから日本にいるときみたいな「ピッ!ピッ!」な感覚でゲート突破しようとすると危ない twitter.com/chomado/status…

2018-12-27 18:15:09
ちょまど🎀エンジニア兼マンガ @chomado

地下鉄(tube)のゲート!空港駅! こっちの Suica みたいなのは「オイスターカード」とかいうやつで チャージして使う! #ちょまどイギリス秋休み pic.twitter.com/3UIdu5MUhR

2017-09-01 22:49:45
拡大
拡大
あきララ@RAIZE納車待ち @solsolare

@chomado 改札が開く速度ももっと速く出来るけど、それだと前後の人と混同する危険があるからと調整されてるらしいですね。

2018-12-27 18:15:52
バーナイ @ovrnit

@chomado 詳しい話は忘れたけど、たしかソニーとJR東日本が死ぬ気で頑張ったんだよね。プロジェクトXにあったような。

2018-12-27 18:39:18
バーナイ @ovrnit

@YSRKEN なかなか詳しい話が載っていて面白かったです。ありがとうございます。

2018-12-27 19:09:18
˂⁽ˈ₍ ⁾˲₎だっきゅ@ABAPer @renald_duckyu

@chomado この番組思い出しました。 エラー処理とDBの検索処理がどうなってるのか知りたいですよね。 pic.twitter.com/trDJYepgni

2018-12-27 19:15:48
拡大
Y​S​R​@​L​U​M​I​X​ ​S​5​ポ​チ​っ​た​!​!​! @YSRKEN

@ovrnit @chomado ちなみにNFCはスマホからもAPIを叩けば読めます。 qiita.com/nshiba/items/3… qiita.com/SatoTakeshiX/i… で、XamarinはそれぞれのOSのAPIを叩けますので(以下略) takasdev.hatenablog.com/entry/2017/12/… docs.microsoft.com/ja-jp/xamarin/… 嬉しいことにXamarin.Formsでの実装例もあります。 d.hatena.ne.jp/machi_pon/touc…

2018-12-27 19:18:33
葛城玲@仕事炎上中につき新規予定🙅‍♂️ @rei_ktrg

@renald_duckyu @chomado Suica(大体のプリペイド式Felica)はストアードバリュー方式、カード自体に残金を格納してしまうという方式と暗号技術の組み合わせだそうです。 改札機には生きてるカードのID一覧のキャッシュを持っていて、外のDBにはリアルタイムで処理を投げなくても済むとか。(その為10年間使わないのカードは失効)

2018-12-27 19:29:55
葛城玲@仕事炎上中につき新規予定🙅‍♂️ @rei_ktrg

@renald_duckyu @chomado 本来ならカード自体はIDだけ持たせて残額等は全部地上側で処理するのがシンプルでセキュアなのですが(クレジットカードのように)、それだと毎回トランザクションが走って待ちが入るから遅いという訳ですね。 Suicaも決済毎に地上側の残高更新をしてる訳ですが、待たなくて良いのは凄い

2018-12-27 19:33:51
˂⁽ˈ₍ ⁾˲₎だっきゅ@ABAPer @renald_duckyu

@rei_ktrg なるほど!詳しく書いていただきたすかります。 セキュリティとスピードを両立するのはなかなか難しいところをスピードに寄せた上である程度の品質を保っているのですね。 勉強になりました。ありがとうございます💕

2018-12-27 20:04:53
仏の永(なが)さん CBR250RR CBR125R @hotoke_nagasan

@chomado ちなみに、Suica等の読み取り端末の裏にJREM(製造元はパナソニックですが…)の部品が付いていました… pic.twitter.com/e5ZnGxtwSW

2018-12-27 21:25:51
拡大
Kuto @KutoCat

@chomado 10年くらい前にシンクタンクで非接触カードや電子商取引の日本と海外の比較を調べたことがあります。 コンサルやクライアントの予想に反して、日本の方がはるかに進んでいました。 今でもそうなのか、という感じ。

2018-12-27 21:32:41
totu @totu_maguro

@chomado 論文で「異種統合型自律分散 ICカード乗車券システム」とかめちゃくちゃかっこいい呼ばれ方していてすごい。 t2r2.star.titech.ac.jp/cgi-bin/public…

2018-12-27 21:53:42
N @NNNNN00099

@chomado SuicaじゃなくてすごいのはFeliCaね。

2018-12-27 22:04:17
hn @vivalafever129

@chomado まさに!ホントにSuica凄いと思う。そして◯◯payとか流行ってるけど、なんだかんだSuica最強説、かざすだけだからもうスーパー楽ちん。QR決済は加盟店からしたらイニシャルコストが安いのが大きなメリットだけど、正直ユーザビリティ悪いと思う。

2018-12-27 22:44:48
kabunafukin @kabu20180324

@chomado 山中俊治さんの作品ですよね。 「アンテナやICカードなどという“デバイスの性能”は全く一緒だということだ。変わったのはデザインだけ。それだけで、読み取り率というスペックが大きくアップする。“ユーザーインタフェースデザイン”というのは性能の一部なのだ。」名言です。

2018-12-27 22:52:45
t157 @t157

@chomado こちらもどうぞ。 「自動改札機の運賃計算プログラムはいかにデバッグされているのか?10の40乗という運賃パターンのテスト方法を開発者が解説(前編)」 publickey1.jp/blog/12/_1040.…

2018-12-27 23:35:06
リンク www.publickey1.jp 自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編) ふだん何気なく使っている鉄道。改札を降りるときにICカードを自動改札にかざすと、「ピッ」という音と共に一瞬のうちに運賃を計算してくれます。けれど、複数の路線を乗り継いだり、途中で定期券区間が挟まっていたりと、想像しただけでもそこには膨大な組... 4 users 5
もなちゃん @monachang7

@vivalafever129 @chomado QRコード決済はアプリ立ち上げ(けっこう時間かかる)て 読み込んで、金額打ち込んでって手間かかりすぎですね。 ワンタッチのSuicaのほうが楽です。

2018-12-28 05:48:38
葛城玲@仕事炎上中につき新規予定🙅‍♂️ @rei_ktrg

@renald_duckyu あの年代によくもこんな無茶な仕様を通したなぁと思いました…

2018-12-28 13:09:18
残りを読む(42)

コメント

しょうちゃん @show__chan 2018年12月28日
これ、元ツイートで参照されているブログ、入場した駅から退場する駅へ通信するみたいなこと書いているけど間違い。 退場駅でSuicaに保存された入場駅データでその場で処理している。 履歴や残高などのデータはSuica自体が基本的に全部持っていて、中央のサーバは再発行のためのバックアップおよび精算用で、1日1回の終電後のバッチ処理で集計している。再発行が翌日になるのはそのせい。 Suicaは高速化と安定性のためにSuicaとリーダライタの間以外のリアルタイムでの通信捨てている。
42
しょうちゃん @show__chan 2018年12月28日
どれくらい通信しなくて済むかというと、自動改札機自体で3日間分の入退場データを保持出来て、災害時などでも中央のサーバとの通信が途絶えても最大3日間は稼働できる。 流石に3日間を超えて通信が途絶える状況だと鉄道の運行も出来ないだろうから想定してない。
40
Baboon @Baboon_lab 2018年12月28日
そんなすごい技術であっても標準化戦略で敗れ、WTOで提訴されかけ、パスポートや免許証など国や政府機関発行の証明書類に使うことができなくなった辺りに…
8
しょうちゃん @show__chan 2018年12月29日
約20年前の当時、Suicaの仕様は海外の環境だとオーバースペックだったので、訴訟や標準化の失敗はある意味仕方ない。 ただ現状では、NFC Type Fとして国際規格化されて、ソフトウェア無線技術の発達で、そういう規格の違いはあんまり無くなっており、FeliCa対応のiPhoneも対応ではないiPhoneもハード的には同じでソフトウェアの違いだけだと言われている。
11
あす @rikiti_2222 2018年12月29日
毎度毎度すげーよなこれと思ってた
4
伍長 @gotyou_H 2018年12月29日
「致命的な不具合が見つかったので今から緊急メンテに入ります」とか言って突如使えなくなったりしないから良い
11
kartis56 @kartis56 2018年12月29日
スイカと同じことをその前に機械式・磁気切符でやってたんだよなぁ
4
kartis56 @kartis56 2018年12月29日
ああ正確には同じじゃないか
1
Chariot @BLACK_RX_24 2018年12月29日
ただ、機械がすごいおかげで一人ミスると後続がゲートの閉じた改札に突っ込んでしまうというバグは散見される
9
ヴィス @2vis 2018年12月29日
でもその後、決済用の普及としては統一されず、 いろんなNFC決済ができてしまったのは「フェリカの真実」を読んでいただければ。
2
bluemonkshood @bluemonkshood 2018年12月29日
職場のコンビニ、朝人手不足と会計に時間がかかるから、Suicaで支払っているが、明らかにこっちが小銭だして、お釣りもらう時間分はやくて、荷物を袋に詰めている間に会計が終了する。銀行口座の全てのお金が電子マネーとして使えるのではなくて、1万円ちょっと、お金を持ち歩く感覚として、Suicaは非常に便利。お財布に大金いれないでいいのと一緒にSuicaにチャージできるのが、大金じゃないのもいいところ。
4
bluemonkshood @bluemonkshood 2018年12月29日
この間、グリーン車にのって深谷まで行ったんだけれど、駅の自動販売機で、Suicaグリーン券購入して、改札通過。駅ナカのコンビニでセルフレジで飲み物購入して、電車に乗ったけれど、本当に全てがSuica1枚で完了してすごく便利だった。私鉄にもそのまま乗れるし、東京オリンピックでこの便利さを体験してもらったらいい。
5
bluemonkshood @bluemonkshood 2018年12月29日
唯一、東海道新幹線にSuicaじゃ乗れないけれど、あの程度は、自動販売機で切符買ったらいいと思う。
0
Chariot @BLACK_RX_24 2018年12月29日
bluemonkshood ところがどっこい、スマートEXへの登録は必要だがそれさえしてあればSuicaでも乗れるんですよ
10
Y_S @shadow_ump 2018年12月29日
Suicaエリア、Toicaエリア、Icocaエリア、それぞれ独立しているのは不便、という話を聞くが、エリアをまとめようとするとテストケースが天文学的数字になるし、処理が遅くなるのは避けられないのでしょうね。
0
マイコーver.2048 @Micky_UTN 2018年12月29日
あれ、通信をしてたっけ?と思ってたら、やっぱコメントのとおりですよね。安心した。
0
かつまたいさ(永遠の10歳📛) @kamiomutsu 2018年12月29日
なぜみんなFeliCaの話として語らないのか…
3
しぇりりん(万年欠食) @m_sheririn 2018年12月29日
FeliCaって拡張性すごいんだよなぁ。後から相互使用になりますってユーザー側に変更求めることないし
1
しょうちゃん @show__chan 2018年12月29日
元のブログ、それなりに資料参照しているのに、Suicaの基本的な仕組みから間違っていて、全体的に突っ込みどころ多数担っているんだよね。 というか、FeliCaにデータ書き込めるという基礎知識を知らないかつ、今のネットワーク技術より劣っている約20年前のシステムだという認識がないんじゃないかなと推測。
2
しょうちゃん @show__chan 2018年12月29日
相互利用に関しては、FeliCaのおかげではなく、サイバネ規格のおかげだと思います。 日本鉄道サイバネティクス協議会で策定された規格で、ICカードの仕様は元より駅コードの管理もしています。 相互利用されているICカードはサイバネ規格準拠です。 相互利用がされないICカードがある理由の一つで、それなり会費とか手間がかかるせいだったりします(他社の接続もお金かかるのも確か)。
2
しょうちゃん @show__chan 2018年12月29日
Suicaカード自体は、 ・最初期の電子マネー機能がないもの ・Suicaインターネットサービスなどの現行サービスが利用できないもの など、いくつかバージョンがあります。 (他にも、Suicaの表面のリライト機能の有無や他社のカードでもいろいろ違ったり) ちなみに、楽天EdyとSuicaのカードは中のアンテナの形状が違ったりします。
2
ゆゆ @yuyu_news 2018年12月29日
自動改札の速度に関してはゲートの仕様が、日本の「基本開いててエラーがあったら閉じる」と、他の「一人ごとに開閉する」の構造差が大きいのでは。
0
repunit @FlatSharp 2018年12月29日
そういや他のFeliCa一体型カードではエンボスあるのにSuica一体型だけはエンボスレスなんだよな
0
tibigame @tibigame 2019年1月4日
shadow_ump エリア用のu8変数1個追加するだけで終了するのにね。Suica作った技術者はなぜ関東以外は日本じゃないだろwみたいな発想で切り捨ててしまったのか。
0
tibigame @tibigame 2019年1月4日
いや歴史を知らずに適当なこと言ってるのかもしれない。真実はSuica技術者は日本統一仕様を提示したが、地方モンがうちらはトンキンの技術者の作ったモノなど使わんと好き勝手作った結果が今なのかもしれない。
0
thx4311@平壌運転 @thx_4311 2019年4月8日
その昔、順法闘争によるダイヤの乱れにブチ切れ暴徒と化した乗客に首都圏の駅を幾つも「わやくそ」にされた(首都圏国電暴動)恐怖の記憶に苛まれながら、暴動の発火点にならないよう時間あたりの処理人数のハードルを高く設定してJRが開発させたシステムだものなぁ。 https://ja.wikipedia.org/wiki/%E9%A6%96%E9%83%BD%E5%9C%8F%E5%9B%BD%E9%9B%BB%E6%9A%B4%E5%8B%95
0
眠大葉 @name_over 2019年10月2日
決済出来るとこ、チャージも仕様にならないかなーwww
0