zowのプログラムな日々

日々のプログラミングとか

最近感じていること

もっとRabbitMQを勉強するべきじゃないかと。

というのも、最近作っているクローラなんだけども、クローラ単体で動かす意味ってほとんどなくて、取得したデータを解析することにこそ意味がある。そうなった時、クローラという一つのサービスから他のサービスと連携を取る必要が出てくるんだけども、それをどうやってやるかというと、RESTとかじゃなくて、AMQPを使ってデータのやりとりをしたいと思ってる。RESTでJSONってのが最近の当たり前みたいな風潮だったりするわけだけども、データのやりとりをするのにそもそもHTTP経由でやるのもどうなの?って考えてしまう。MQ使ってやればいいじゃん。そうなった時にデータを受け渡しだったりをもっと多様化できるんだから、そういう手法とか全部把握した上で最適な物を選べたらいいなーと。RESTみたいなPUT,GET,POST,DELETEみたいな命令をAMQP上で実装してDBとのやりとりはこのインタフェース経由でやって、とか。そうなった時に非同期じゃなくて同期でやれたほうがいいよね、とか。いろいろ考えると、やっぱRabbitMQ勉強しろや、って結論に行き着く。

RabbitMQは普通に使ってるんだけども、その割には多様化してる通信方法を活用できてないと思う。結局非同期で全部やっとけー、みたいな感じになってしまってて、もっといろいろ出来るはずなのに全然使えてない。同期?そんなん同じプログラム内で処理しろや!みたいに思ってる自分もいたりするし。ここでMicroservicesとか出すつもりもないんだけど、やっぱ小さい処理単位でまとめて、AMQP上で粗結合みたいな事を考えるようになってきてる自分がいて、もっと勉強しなきゃって思うんだけど、実際のところ、現状だと勉強しても役立つ場面って限られてるのも確かで、今勉強する必要あるのか?みたいなもどかしい感じ。必要性はあるんだけど、実際は必要じゃない、見たいな?

何言ってるのか自分でも判らなくなってきた・・・・。