完了まで約2時間半かかっていた既存のバッチ処理を、最近興味があったReactiveでリプレイスして10分以内に完了するようにした時の躓きポイントのまとめ Scala/Akka Streamをチョイスした理由は、下記のスライドに触発されたのと、Spark on EMRを触っていてScalaに躓いていたのでScalaともう少し友達になりたかったからです。 バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri from Kazuki Negoro システム概要 処理概要 MariaDBから処理対象のデータIDを取得 idから必要となるデータを取得して、JSONを生成 ElasticSearchのBulk APIでデータ投入 ElasticSearchのAlias切り替え 1〜3を繰り返す サーバ EC2(vCPU 4コア) 既存システム概要 PHP
![Scala + Akka Streamで既存のバッチを10倍以上速くした話 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/6e244c5cf3060a4ba278084dff3df4f94926279f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9U2NhbGElMjAlMkIlMjBBa2thJTIwU3RyZWFtJUUzJTgxJUE3JUU2JTk3JUEyJUU1JUFEJTk4JUUzJTgxJUFFJUUzJTgzJTkwJUUzJTgzJTgzJUUzJTgzJTgxJUUzJTgyJTkyMTAlRTUlODAlOEQlRTQlQkIlQTUlRTQlQjglOEElRTklODAlOUYlRTMlODElOEYlRTMlODElOTclRTMlODElOUYlRTglQTklQjEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWE4MGU5OGI4MjNlMzNiYzQ4OTBjYWIzNjgwYWZmMzI2%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2hpbnByJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0zMDZmODg4ZTBkOWJhMDNmOWNjMWFhMzBkMjAyYzY3NA%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Deeade0b6ef6c8894ca6b46b90f12adcb)