スケーラビリティを考慮してクラウド システムを開発することは、システムが機能境界 (usermgmt、ordermgmt、customermgt など) に沿って REST ベースのサービスに構成され、それぞれが独自の基盤となるデータベースを持ち、負荷に応じて、複数のサービスをスピンアップする可能性があることを意味します。たとえば、ordermgmt サービスのインスタンスです。ordermgmt サービスが (「顧客」に代わって) 注文を追加する要求を処理するとき、customermgmt サービスへの REST 呼び出しを行い、顧客などを検証します...
顧客エンティティは頻繁には変更されないため、特定の顧客のインスタンスをキャッシュして、顧客管理サービスの複数のインスタンスがデータベースにアクセスする前に問い合わせる可能性がある場合、ZooKeeper のようなものが適切かどうか疑問に思っています。Zookeeper の使用に関するさまざまなリストを見てきましたが、オブジェクト キャッシングに使用している人は見当たりません。推奨されるznodeのバイトサイズは約1Kのようで、脱水オブジェクトの保存には適していません。また、すぐに使用できる GC や LRU はサポートされていないため、これも追加する必要があります。
Zookeeper でない場合、より適切な提案はありますか? 私たちは Hibernate を ORM として使用していますが、それについてはあまり経験がなく、1 番目と 2 番目のレベルのキャッシュをサポートしていますが、それらが複数のサービス インスタンス間で分散/複製された方法で機能するかどうかはわかりません。 .
ありがとうスコット