私たちはCloudflareのライバルではないことをすぐに言いたいので、私たちが優れていることを伝える理由はありません。 現在まで、当社のサービスはドメイン管理のみを目的としています。 また、Yandex PDDとは異なり、セカンダリおよびダイナミックDNSサービスを提供します。
私たちのタスクは、「外部モジュールの最大数を使用する」ことでした(コードより少ない数を書くため)。 適切なモジュールの検索に多くの時間を費やしました(必要な機能を備え、バグもありません)。 この調査の過程で、私たちの若い従業員の何人かは、オープンソースプロジェクトの「完璧さ」をしっかりと確信することをやめました。 悲鳴と乱闘の後、私たちは束で立ち止まりました:ZF2-Doctrine ODM-BjyAuthorize-ZfcUser。
コンポーネントについてもう少し。
フロントエンド:
- Zend Framework(ZF)2.以前、いくつかのプロジェクトでZFを使用していたため、System-NSでの作業を開始したとき、ZF2のリリースに限りなく満足していました。
- Doctrine ODM。 mongoDBドキュメントをphpオブジェクトに変換できるモジュール。 実際、このモジュールは、mongoDBで作業するときにどのような利点が得られるかを確認するために選択しました(通常、独自のクラス/ラッパーを使用して作業します)。 モジュールは冗長であることが判明し、常に便利であるとは限りませんでした。
- MongoDB。 優れたドキュメント指向データベースであり、ほぼすべてのプロジェクトに使用します(データベースの唯一のマイナス点は、トランザクションがないことですが、適切な永続性を使用して実装できます)。
- BjyAuthorize。 サイトの特定の部分へのアクセスを制限するメカニズムは、ユーザーの「ロール」に基づいています。
- ZfcUser。 ユーザー管理用のモジュールには、既製の(カスタマイズ可能な)登録および承認メカニズムが含まれています。 Doctrine ODMおよびBjyAuthorizeと完全に互換性があります。
- Twitterブートストラップ CSSテンプレートの非常に優れたセットは、一般にレスポンシブデザインとレイアウトでタスクをはるかに簡単にします。
バックエンド:
- 自己記述DNSサーバー(C ++)はまったく別の話です。 プロジェクトはNDAによって閉鎖されているため、あまり広めることはできません。 書く理由は1つだけです。それはパフォーマンスです。 実装では、2 GHzの1つのコア(1秒あたり最大300万から350万の要求に対応可能)。これは、約1.4 Gbのトラフィックdns(平均)に相当します。 所有者の許可を得た同じ技術が公共サービスで使用されましたが、わずかに切り捨てられた形式で使用されました。 独自のマネージドキャッシュがありますが、通常は外部データストアに依存します。
- Memcached -dnsデーモンでメモリを割り当てる代わりに、ドメインゾーンレコードのバイナリ構造のリポジトリとして使用-唯一の目的のため(次の段落を参照)、dnsのtcmallocが高速になるという事実について長い議論がありましたが、まったくロードしないことにしましたDNS追加機能
- サーバー上のデータ複製とスナップショットをディスクに保存するためのSamopisnyデーモン (C ++)
物理的に、サービスは5つのサーバーにあります。 それらのうち3つ(フランス、ウクライナ、ロシア)にはフロントエンドがあります。 他の2つのサーバー(ノルウェー、チェコ共和国)は複製用です。 トラフィックのバランスをとるために、Clustertech AS(ノルウェー)のフェイルセーフバランサーが使用されました。これはエニーキャストセグメントにあります。
このサービスは無料です-独自のエニーキャストセグメントを開始する必要性はまだありません(機会はありますが)、これは既に「私たち自身のために」高価な喜びのカテゴリからのものですが、多数の来訪者がいる場合、それを開始する可能性があります。
当社のサービスにご関心と関心をお寄せいただきありがとうございます。