タグ

Queueに関するsuusanexのブックマーク (9)

  • System.Threading.Channelsを使う - Qiita

    はじめに マルチスレッドでの非同期データ受け渡しライブラリのSystem.Threading.Channels(corefxlabにあったころはSystem.Threading.Tasks.Channels)が、corefxに統合され、この度4.5.0-rc1としてリリースされたので、 さすがに大きな変更はないだろうと踏んで使い方などを書く。 参考: corefxlabにあったころの記事 何ができるようになるか 非同期でのプロデューサー・コンシューマーパターンを作るのがより容易になる。 特徴としては以下のようになる 順序は必ずFIFO(先入れ先出し) 読み:書き=M:1、1:N、M:Nのパターンに対応 asyncと親和的な設計 パフォーマンスに配慮 netcoreapp2.1では更に特化実装で速い 注意: 現在netcoreapp2.1で、ConcurrentQueueが特定のケースでne

    System.Threading.Channelsを使う - Qiita
  • Apache Kafkaの概要とアーキテクチャ - Qiita

    初版: 2018/9/28 著者: 伊藤 雅博, 株式会社日立製作所 はじめに この投稿ではオープンソースカンファレンス2017.Enterpriseで発表した「めざせ!Kafkaマスター ~Apache Kafkaで最高の性能を出すには~」の検証時に調査した内容を紹介します(全8回の予定)。投稿の内容は2017年6月にリリースされたKafka 0.11.0 時点のものです。 第1回目となる今回は、Apache Kafkaの概要とアーキテクチャについて紹介します。 投稿一覧: 1. Apache Kafkaの概要とアーキテクチャ (投稿) 2. Apache KafkaのProducer/Broker/Consumerのしくみと設定一覧 3. Apache Kafkaの推奨構成と性能の見積もり方法 4. Apache Kafkaの性能検証(1): 検証環境とパラメータチューニングの内容

    Apache Kafkaの概要とアーキテクチャ - Qiita
  • RedisのlistとpubsubとRabbitMQを使い分けを考える - GAミント至上主義

    2017年1月現在、ビッグデータ処理プロジェクトoceanusは下記のようなデータの流れをしています。 GEK上でDockerを使ってアプリケーションを構成していますが、Redisのリスト型、pubsub型に加えて、最近RabbitMQも使い始めたので、どう使い分けしているかを整理してみる。 Redis list型 順番を持ったリストで、左から入れたり、右から入れたり、逆に取り出したりすることができる。 リスト型 — redis 2.0.3 documentation 用途 データを失いたくない1対1のデータ処理。 oceanusでは、armsでHTTPリスエストをバリデーション等をした後にlistに保存し、r2bq(Redis to BigQueryの略)が取り出して、BigQueryに保存している。 BigQueryに保存したらもう必要がなくなり消えるので、基的にRedisに保存され

    RedisのlistとpubsubとRabbitMQを使い分けを考える - GAミント至上主義
  • Not Found

  • メモ: Redisをジョブキューとして使う - ごろねこ日記

    Redisについて Redisはいわゆるオンメモリで動作して永続化もしてくれる高速なキーバリューストアですが、ノティフィケーションのような機能ももってます。 実はジョブキューのようなものは無いかなと最初はRabbitMQを調べていたのですが、そういやRedisにそういう使い方できそうなコマンドがあったような。と思ってみてみたらありました。 コマンド 該当のコマンドはPUBLISHとSUBSCRIBEです。 SUBSCRIBEは現在のコネクションで特定のキーワードの通知が来るのを待機開始するコマンド PUBLISHは通知を送信するコマンド です。 具体的には SUBSCRIBE fooとするとキーワードfooで通知を待ち受け、 PUBLISH foo hogeとするとhogeというメッセージとともにSUBSCRIBEしているコネクションにメッセージを送ります。 実際にコマンドラインからやって

    メモ: Redisをジョブキューとして使う - ごろねこ日記
  • Dissecting Message Queues

    Disclaimer (10/29/20) – The benchmarks and performance analysis presented in this post should not be relied on. This post was written roughly six years ago, and at the time, was just the result of my exploration of various messaging systems. The benchmarks are not implemented in a meaningful way, which I discussed in a follow-up post. This post will remain for posterity and learning purposes, but

    Dissecting Message Queues
  • 分散型メッセージングミドルウェアの詳細比較 | POSTD

    メッセージキュー について書いている連載の続きとして、今週末は分散型メッセージングを実行するための様々なライブラリを詳細に分析していきたいと思います。今回の分析では、APIの特性、デプロイメントやメンテナンスの容易さ、そしてパフォーマンスの質を含めて2、3種類の異なる側面に着目します。メッセージキューは2つのグループに分類できます。ブローカレス(brokerless)とブローカード(brokered)です。ブローカードなキューはエンドポイント間に何かしらのサーバを挟んでいますが、ブローカレスなメッセージキューは、メッセージ送信の際でも間に何も挾まないP2Pです。 今回分析するのは以下のシステムです。 ブローカレス nanomsg ZeroMQ ブローカード ActiveMQ gnatsd Kafka Kestrel NATS NSQ RabbitMQ Redis 取り掛かりとして、ほぼ間違

    分散型メッセージングミドルウェアの詳細比較 | POSTD
  • Using tables as Queues

    A very common question asked on all programming forums is how to implement queues based on database tables. This is not a trivial question actually. Implementing a queue backed by a table is notoriously difficult, error prone and susceptible to deadlocks. Because queues are usually needed as a link between various processing stages in a workflow they operate in highly concurrent environments where

    Using tables as Queues
  • Persistent Work Queue in C#

  • 1