Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。皆様のご要望にお応えするべく、ノイズを削減する機能セットを開発しました。皆様が関心をお持ちのトピックを、EメールとWeb通知で受け取ることができます。新機能をぜひお試しください。マイクロサービスアーキテクチャでは、すべてのマイクロサービスは独立したアプリケーションであり、独自のデータストレージを持ち、ネットワーク上で互いに通信するのが一般的だ。2018で行ったプレゼンテーションでこのように説明し、マイクロサービス統合に共通する落とし穴と、その解決策として組込みあるいはサービスの形で利用可能なワークフローエンジンについて解説した。通信は複雑だが、この複雑さは隠蔽されるべきではなく、内部的に障害を処理可能なサービスを設計することが必要である。Camundaの設立者のひとりであるRücker氏は、航空機にチェックインして搭乗券を受け取ろうとした時の自身の経験を例として紹介した。その時に氏は、技術的な問題が発生したというメッセージと、後でやり直すように指示を受けた。氏の考えでは、これは悪い設計であり、サービスプロバイダの典型的な問題である。ユーザに再実行を求めるのではなく、自分自身でエラー処理を行なって、作成が完了した時点で搭乗券を送信するべきなのだ。同じ振る舞いは、サービス対サービスの通信でも起こり得る。サービスが障害を内部的に解決できるならば、再試行して、結果が得られた時点で非同期に応答を返すべきである。これによってエラー処理がカプセル化され、APIはよりクリーンでシンプルなものになる。Rücker氏はこれをステートフルなリトライと呼んでいる。氏の経験では、このパターンを採用しない一般的な理由は、複雑な状態管理が必要だという認識にある。このような状態は、永続化エンティティやドキュメントに保存されるのが通常だが、再試行のためにスケジューラなどのコンポーネントも必要になる。これらの詳細すべてを処理する方法として氏が推奨するのは、ワークフローエンジンを使うことだ。同時に氏は、再試行の必要性が頻繁に発生するような場合でも、エラー処理をクライアントに委ねるべきユースケースがドメイン内に存在する可能性も指摘している。非同期性Rücker氏によれば、非同期通信の利用には数多くのメリットがある。これはメッセージングを使用するべきだという理由でもある。その場合に発生する問題はタイムアウトだ。搭乗券の発行を待つ氏の例では、このプロセスはメッセージを使用して行われており、搭乗券のメッセージが生成されなかったり、あるいは何らかの理由で失われた場合には、障害の処理は再度ユーザに任せられることになる。サーバ側に必要なのは、メッセージの紛失や遅延を監視する何らかの方法だ。一般的にこれはメッセージングミドルウェアを使用して行われるが、Rücker氏の知る何人かの顧客は、これをワークフローエンジンを使って実装している。これには、プル原理を使用したメッセージキューのように動作するエンジンが必要だ。Opinion”を取り上げて説明する。その代用としてRücker氏は、オール・オア・ナッシングのセマンティクスでいくつかのアクティビティを実行する必要がある場合に、長時間実行するビジネストランザクションを採用している。consistency)、障害に対する補償を使用するSagaパターンだ。activities)を行うことが必要だ。Rücker氏は、それが冪等(idempotent)であることを強く推奨する。ネットワーク通信においては、区別することのできない3つの障害シナリオが存在する。要求がサービスプロバイダに届かなかった要求はプロバイダに届いたが、処理中に障害が発生した要求は処理されたが、プロバイダからの応答が失われたエラーが検出された場合の解決策のひとつは、サービスプロバイダにその要求について問い合わせることだが、そのためには、これが他の要求と区別できなくてはならない。一般的なアプローチは単に再試行することだが、そのためには要求が冪等でなくてはならない。氏は4つの冪等性に言及している。サービスがメッセージのハッシュで要求を認識する場合Rücker氏は、ワークフローエンジンを組み込むことによってSagaパターンの実装が可能になることを述べた上で、マイクロサービスベースのシステムには一般的にはマイクロサービスごとに、それぞれのワークフローを処理する複数のエンジンが存在すると指摘している。すべてのワークフローが通過しなければならないような中央エンジンは存在しないのだ。ワークフローエンジンとステートマシンの現状に目を転じると、いくつかのオープンソースフレームワークの存在に気付く。ここ1、2年の間でも、いくつかのフレームワークが新たに登場している。Functionsを開発しており、その他のクラウドベンダも少なくとも同じ方向で考えている。Rücker氏は、自身のアイデアを実装したサンプルコードを公開している。このプレゼンテーションは含まれていないが、カンファレンスの大部分のプレゼンテーションは録画されており、今後数ヶ月にわたってInfoqQで公開される予定である。次回のQConカンファレンスであるQCon.aiは、AIとマシンラーニングに重点を置くもので、2018年4月9~11日にサンフランシスコで開催される。2019は、2019年3月4~8日に予定されている。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員��して、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。