タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

qiitaとapiとarchitectureに関するslay-tのブックマーク (2)

  • マイクロサービスにひそむ複雑さに立ち向かう - Qiita

    のように書きます。突然でてきた「ランダム値」は何かというと、 クライアントAがロックを取得 クライアントAが何らかの理由により処理遅延(GCとかなんでもいい)し、許可されているロック時間を超えているのに気付かずアンロック ロックがタイムアウトした後、ロックを取得していたクライアントBのロックがアンロックされてしまった といったことが起きないように「自分がかけたロックのみアンロック」するために利用します。 これで解決かというと、厳密にはそうではなく、Redisのレプリケーションが非同期であるため、 クライアントAがロックを取得 レプリに書き込まれる前にマスターがクラッシュ フェイルオーバーし、レプリがマスターになる クライアントBが同じロックを取得 となり、ロック対象をA/B両方同時に保持してしまう可能性があります。 上記が許容できない場合を想定し、Redisチームは、お互いに完全に独立した

    マイクロサービスにひそむ複雑さに立ち向かう - Qiita
  • Goで書くClean Architecture API - Qiita

    Enterprise Business Rules ビジネスルールの為のデータ構造を持ったオブジェクト。 データの実態を表す場所。 Application Business Rules ビジネスルールを操作する場所。 つまりこのアプリケーションで何ができるかを実践します。 Interface Adapter 外部からの入力、データの永続化、表示を担当する場所 Frameworks & Drivers Webフレームワーク、DB操作の実際に担うソース、 フロントエンドUIなどがここに所属しています。 外側のレイヤーの要素を直接参照してはならない 上記の図におけるこの矢印は依存を表しており、 内側のレイヤーから外側のレイヤーの要素への依存を禁じます。 ここでいう依存とは要素(構造体、変数など)への直接参照をさせないということです。 では外側のレイヤー要素を参照せざる得ないは、どうするのでしょ

    Goで書くClean Architecture API - Qiita
  • 1