Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
Apache Flinkを使ったバッチ処理を作ってみてから大分経ってしまったが、今回はリアルタイムストリーム処理を作ってみようと思う。 いきなりコードをバーンっと出すのもアレだしナニなので、既存のBigDataを意識したストリーム処理ライブラリ(Spark Streaming)を振り返りつつ、Apache Flinkのリアルタイムストリーム処理用のライブラリの話から。 昨今のリアルタイムストリーム処理Apahce Flinkは所謂BigDataと呼ばれる規模のデータをストリーム処理するためのフレームワークである。既存のHadoopやSparkのようなフレームワークは大量のデータをいくつかの束に分けてガサッと分散処理する。Sparkなんかはリアルタイムでも使えると言われてはいるが、データの束をバッチ処理することには変わらない。1度に処理するデータ量にもよるが1レコードに対するレイテンシは早く
Apache Kafka: Producer, Broker and Consumer2017年は生まれて始めてApache Kafkaを本格的に業務利用(PoCではなく本番運用)した年でした。Apache Kafka的なメッセージングミドルウェアそのもののは、社内的な事情でよく使っていたのでその使い勝手に対して困惑はほとんど無かったですし、ミドルウェアとして非常に安定しているため、Kafkaクラスタそのものでの不具合らしい不具合が発生したことは一度もありませんでした。 しかし、Kafkaのトピック設計などに関してのベストプラクティスは事例ベースでもあまり見かけたことがなく、チームメンバーと悩むことも多かったです。このストーリーでは、主にKafkaを利用したアプリ設計で考えたことや失敗したことを振り返りつつ共有します。なお、パーティション数や各種バッファサイズなどのチューニング要素は今回取
概要Dockerのmulti-stage buildを試してみました。 Goだと特にメリットを感じやすいのですが、今回は そもそもmulti-stage buildとは?Goだと何が嬉しいのか実際にやってみたの3つを書きます。 そもそもmulti-stage buildとは?dockerを使うとき、イメージの設定をDockerfileに書くと思いますが、このimage生成フローをstage別(build, artifactなどなど任意の名前で)に分割できる機能です。 何を言ってるんだという感じですが、具体的にいうと、 バイナリ生成やstaticなファイル生成を行うbuild stage成果物として上記をコピーしてコンテナを立てるrunning stageみたいな感じで、ステップを分けられます。 これで何が嬉しいかというと、単純にimageのサイズが減ります。 上記でいうと、buildのため
ssm2env - Environments injection tool for AWS EC2, with SSM (EC2 Parameter Store). 詳細環境ごとに異なる秘密情報をAPIに渡す際、その管理方法は、twelve-factor appにもある通りデプロイ対象のサーバー内部の環境変数として定義するべき。 ただ、自動化されたデプロイフローでは、どういった手順で秘密情報を渡せばいいか悩むことが多い。 自分が考えた範囲では、 1. AWSのSSMにTerraform経由*1でシークレットな変数を設定 2. APIのデプロイ時にSSMから特定prefixのついたパラメーターを取得 3. パラメーターを全て環境変数として読み込ませる 4. APIが起動する際に秘密情報を定数として環境変数から読み込む*1) 正確にはCircleCIの環境変数設定に事前に入れた状態で、Circ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く