【お知らせ】システム環境を更新しました。

天文リフレクションズシステム開発統括部です。

本日より天リフNewsがバージョン1.1にマイナーアップデートしました。その内容についてお知らせします。

バージョン1.1の変更点

外観上の違いはほとんどありません。唯一、トップバーの左にメニューアイコンが追加されました。現時点では、クリックして出てくるものに新しいものはありませんが、今後「新着記事(これは従来のタブセットのことです)」に加えて、いくつかの新しいタブセットを追加していきます(少なくとも、7月中にはひとつ追加予定です)。

他の細かい変更点は以下の通りです。

  • タブ毎に配信記事数を柔軟に変更可能になった。7/1時点では、ブログとピックアップが最大100記事、他のタブは50件ないしは65件です。
  • 新着記事の更新間隔を従来の4時間から2時間に短縮。毎偶数時(0時、2時、4時…)に更新されます。更新処理が若干高速化されたため、正時に更新を開始し数分で反映されます。
  • 過去記事の表示期限を従来の6ヶ月から10年に変更。古い記事が落ちるのが早すぎ、特に天リフの過去記事が表示されないという悲しい状態を改善しました。
  • 「彗星」タブにネオワイズ彗星(C/2020F3)とレモン彗星(C/2019U6)を追加。今後ある程度明るい彗星が近づいた時には表示するように運用します。
  • 「海外digest」タブを追加。主要な海外メーカー・販売店のブログ更新とツイートを表示します。
  • 一部のブログサイトで新着記事を取得できなかった問題など、既存のバグを改修。

簡単ですが、変更点は以上です。引き続き天リフNewsおよび天文リフレクションズ各種サービスをよろしくご愛顧のほどお願い申し上げます。

バージョン1.1の内部的な変更点

以下、システム的な視点でのご興味のある方、および「天リフみたいなサービスを自分も運営してみたい」という方に向けての若干の補足になります。

システム構成の変更

システム構成のビフォー・アフター。細かくいうと①ブログサーバーとドメインの移行②旧環境記事収集機能のサーバー移行③記事収集機能とクライアントUIのアップデートの3段階です。今回の作業が③となります。

バージョン1.1の最大の目的は、今後10年先を見据えたサービスの持続性の確保です。最初のプロトタイプを開発して4年、色々と無理を重ねて運営してきましたが、サーバー環境も更新しないまま古くなり、なんらかの物理的トラブルが発生しても短時間では復旧できないような状態でした。

そこで、環境を一式整理し、最新のサーバー環境・OS・ミドルウェア環境に更新しました。ホスティング先も「お名前.com VPS」から「Conoha VPS」に変更し、従来より低いコストでより高品質・大容量のサーバーが利用できるようになりました。

特に、ブログ(WordPress)環境と、天リフNewsの記事収集配信システムを別サーバーに分割したことが、サービス運用管理の安定性とサーバーレスポンスの向上に寄与しています。今回の更新で、記事収集配信システムはインターネット上に中心のない形で分散した構成が可能になったため、今後天リフNewsの収集元サイトの拡大に対してリニアな拡張が可能になりました。

クライアントアプリをより単純化

まったく威張れる話ではないのですが、実は天リフNewsのクライアントアプリは当初全て動的な記事取得で実装されていました。タブ毎に対して設定された検索要求をサーバーに投げ、その結果を表示する形です。ところが技術(力)的な問題で十分なパフォーマンスとスケーラビリティを確保することができず、検索要求に対する処理をサーバー側であらかじめ行ってキャッシュするなどのつぎはぎ的手法で切り抜けてきました。

天リフNewsの配信記事データ形式。配列$childrenに記事を並べた極めて単純なjson形式です。

今回この仕組みを、クライアントは単純にサーバーの記事ファイルを読み込むだけの形に変更することで、サーバーとクライアントの関係がすべて「静的」となりシステムが大幅に単純化しました。天リフNewsのクライアントアプリ(web画面)は、基本的にはインターネット上の任意の場所に置かれた「天リフNews形式」の記事データを読み込んで表示することができるようになりました(*)。

(*)あとはクロスドメイン問題を回避するだけです。

このため、今後のメニュー項目の追加変更はきわめて容易で、任意のロケーションに置かれた記事データをタブ毎のurlの変更だけで設定できます。この仕組みを使用して、新しいタブセット(記事のビュー)を追加していく予定です。

管理者業務の軽減

 

編集長専用画面。記事から抽出されたキーワードと記事毎に設定されたタグが表示されます。除外された記事も一覧で見ることができます。

 

天リフNewsでは、基本的にはタブ毎の記事はソース(参照先のブログなど)のセレクションで構成していますが、「天文濃度」を上げるためにキーワードセットとのマッチングを行い、天文関連記事以外は除外して表示しています。

ところがこれがあまり賢くなく(*)、キーワードセットを定期的にメンテナンスしなければなりません。この業務も当初から想定していて一部実装してはいたのですが、サーバー側処理の内部実装の関係で事実上運用できない状態になっていました。

(*)やはりディープラーンニングですよね・・・

今回サーバー側処理を大幅に見直して整理したことにより、ある程度現実的なキーワードセットのチェックとメンテナンスが可能になったため、管理者用(つまり編集長用^^;;)の画面も復活させて、日々のピックアップ業務をこちらの画面で行えるようにしました。

編集長は「仕事が増えるのは困るが、業務の効率化を含めれば業務改善ですね」と申しております。

天リフNews1.2

5月27日の編集長のこのツイートから急に始まった今回の対応ですが、当初予定工数を若干超過したもののいろいろなことを改善することができました。しかし、読者にとってのメリットはほんのわずかです。

引き続いて「読者メリット」 のある機能追加を順次行っていきたいと考えています。あまり無理しない範囲で・・・・とりあえず7月末に最小構成の機能追加をちょびっと行いたいと思っています。生暖かく見守っていただけると幸いです^^

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です