インターネットサイトを維持しながら生活を楽にするプロジェクトを開発するというアイデアは、ミンスクの小さな会社から生まれました。 私たちのチームは小さいですが、野心的であるため、このような大規模なプロジェクトを一緒に開発することが決定されました。
ウェブマスターの時代は困難でいため、実装のために多くの機能が発表されました。
- プロジェクトは、既存のすべてのドメインに関するwhois情報を毎週引き出す必要があります(3億を超える計画)
- 変更履歴とともにすべてのドメインのすべてのwhois情報を保持します。
- ドメイン登録とホスティングの有効期限について通知します。
- 少なくとも3分間に1回、少なくとも6か国のサイトを監視します(各国のこの全体の時間、応答コード、およびスケジュールを美しく表示します)。
- サイトをブラックリストに登録し、悪意のあるマックの存在を確認します。
- サイトのコスト/利益トランザクションを追加して財務を管理します(再び、チャートを使用)。
- タグを追加してファイルを添付する機能を使用して、メモを管理します。
- ユーザー設定に従って、電子メールとSMSでクライアントに通知します。
- 割引クーポンとリンクで興味深いアフィリエイトプログラムを締めます。
一般に、 「Dominder」 (英語ドメイン+リマインダーから)を書く必要がありました。
有用で興味深く、有望なプロジェクトですが、問題は十分な時間とリソースではありません。 2人の開発者がいます(2人目は開発開始から3か月後にのみ接続します)。
丘の上にクールな輸入デザインを注文しました。 彼らはRuby on Railsで書くことに決め、PostgreSQLがメインデータベースとして機能しました。
彼らは妥協と技術的解決策を模索し始めました。そのおかげで、現在の重要な欠点を備えた実装を実現できます。
解決回数
彼ら
ソリューション番号2
なぜなら 時間がない場合は、パラメータに基づいて1つまたは別の実装方法が選択されます。
- 時間の費用;
- スケーラビリティ。
- (システム内の現在のユーザー数)実装が保持する必要があります。
時々、歯を食いしばって、コードが高速であるという理由だけで、1つまたは別のコードを書かなければなりません。 曲がった、いが、効果的で柔軟。
決定番号3
開発と並行して、製品が宣伝されました。 これはどのように起こりましたか?
2つの「計画の流れ」が構築されています:開発とPR。 それらは、プロジェクトの現在のニーズと現在の実装の可能性に基づいて均等に満たされる必要があります。 たとえば、プロジェクトの機能部分が準備できている場合、すぐにテストされ、ロールインされ、普及しました。 または、現在のユーザー数が予測よりも少ない場合、最初の美しいつまらないものが顧客向けに開発され(デモアカウントなど)、現在のアルゴリズムの最適化はすでに二次的でした。 そしてその逆に、顧客が大量に来始めた場合、彼らはすべてを落とし、ひどくコーディングし始めるでしょう。 それは一種のスイングでしたが、私の意見では、別の方法で、決してありませんでした。
ソリューション番号4
すべてのドメインのWhois情報は、検索エンジンボットを常に容赦なくインデックスに登録する公開ページから入手できます。 ページはキャッシュされ、現在のクライアントに関係のないドメインは別のサーバーに移動されました(いわゆる垂直シャーディング)。
ソリューション番号5
ping履歴は無期限に保存する必要があるため、すべてのレコードはグラフ表示アルゴリズムに従って「アーカイブ」に押し込まれます。
決定番号6
独自の専用プロキシサーバーを使用して、レジストラからwhoisを取得します。 それらのいくつかは、非常に頻繁な呼び出しのため、最初は単にIPを禁止しました。 その結果、1日に50万のドメインの情報を取得することができました。 制限ではありませんが、修正する時間はありませんでした。
決定番号7
必要なものはすべて、NoSqlに容赦なく突き出すための高速で頻繁なアクセスです。
プロジェクトの開始後、ユーザーを引き付けるという疑問が生じました。
西側のサイトの同じ監視は長い間人気があり、何百万人もそれを使用しています。 しかし、ソビエトの男性に、月に数ドル払うほうが簡単で、収益性が高く、より便利であると説明すると、サイトで何かが起こったことがすぐにわかるようになり、かなり難しいタスクになりました。 多くの人は、監視サイト(および他のサービス)が保険のようなものであることを理解していませんでした。 まあ、何も起こらなかったら。 そして、どうすれば?
テストのために、140のベラルーシのサイトを追加しました。 その結果、サイトの約40%が少なくとも週に1回(5分から数時間の間)アクセスできなくなることが判明しました。 そして、いくつかのサイトはただ動揺し、明らかに顧客を失います。
もちろん、ロシアにはYandex.Metricaのような手ごわい競争相手がいます(そして、彼らは私たちの違いをしばしば尋ねます)。 ただし、Metricはすぐに通知を送信せず(数分遅れることもあります)、さまざまな国のサイトの可用性を確認する方法がありません。場合によっては監視を保証しないため、サイトに追加のコードをインストールする必要があります。
プロジェクトの開始後、リソースが限られていたため、電子メールマーケティング、アフィリエイトプログラム、ホスティング会社やWebスタジオなどのパートナーなど、あらゆる面で独力で行動し始めました。
その結果、すべての調整とジャンプの後、新しく登録した各ユーザーから幼稚な喜びを経験しながら、オープンして最初の利益を受け取り始めました。