タグ

ブックマーク / thinkit.co.jp (16)

  • Akka Clusterで超レジリエンスを手に入れる(その2)

    前回に引き続き、Akkaのクラスタリング機能を使って、障害が起こることを前提にした耐障害性の高いシステムを構築する方法を、解説します。 Akkaで構築する分散システム クラスタリング クラスタメンバーのライフサイクル 障害の検知(前回はここまで) ルータ Cluster Shardingによるアクターの分散 Akka Persistenceによる状態の永続化 ルータ クラスタ内で作業を分散させるにはルータを使用します。ルータはクラスタ内のメンバーの状態を認識し、メッセージを振り分けます。メンバーがunreachableになったり離脱したりすると自動的にルータから登録解除され、新しいメンバーが参加したりunreachableから回復したりすると、その設定に応じてルータの振り分け先として追加されます。 ルータの振り分けは連載の4回目で紹介したように、actorSelectionを使って送信先ア

    Akka Clusterで超レジリエンスを手に入れる(その2)
    rikima3132
    rikima3132 2017/08/02
    Akka Clusterで超レジリエンスを手に入れる(その2) | Think IT(シンクイット)
  • MySQL Enterprise Monitor 3.0:MySQLの運用監視ツール

    MySQL Enterprise Monitor 3.0とは? MySQL Enterprise Monitor 3.0 は、MySQLの運用監視ツールです。2013年9月に、最新バージョンであるMySQL Enterprise Monitor 3.0がリリースされました。MySQL Enterprise Edition(商用版)を購入したユーザーだけが使用できるツールであるため、先ずはMySQL Enterprise Editionについて紹介します。 MySQL Enterprise Edition:便利な追加機能が全部使える商用版MySQL MySQLには、GPLライセンスで提供しているコミュニティ版の他に、商用版が用意されています。商用版のMySQLでは、コミュニティ版と同様のデータベース機能に加えて、サポートサービスや便利な追加機能が使用できます。商用版は、通常は商用ライセンスと

    MySQL Enterprise Monitor 3.0:MySQLの運用監視ツール
    rikima3132
    rikima3132 2014/03/30
    “MySQL Enterprise Monitor 3.0:MySQLの運用監視ツール”
  • データ統合/ETLを使う

    Pentahoデータ統合/ETLとは 第1回では、オープンソースBI「Pentaho」の全体像、Pentaho BIスイートの特徴や入手方法、BIサーバーのインストール手順を解説しました。第2回の今回は、個々の情報システムのデータを分析できるようにするミドルウエア「Pentahoデータ統合/ETL」を解説します。 データ・ウエアハウス(DWH)を構築してデータを分析するためには、業務システムのデータをデータベースに収納する必要があります。このために利用するのがETLツールです。ETLのEはExtract(データの抽出)、TはTransform(データの変換)、LはLoading(データの格納)のことで、DWHが必要とするデータをさまざまなデータ・ソースから抽出し、利用しやすいように適切な形式に変換して対象のデータベースに格納します。 Pentahoデータ統合/ETLは、Transforma

    rikima3132
    rikima3132 2013/02/26
    第2回 データ統合/ETLを使う | Think IT
  • [ThinkIT] 第1回:MySQLストレージエンジンの概要 (1/3)

    連載で取り上げるMySQLは、非常に人気の高いオープンソースのRDBMSです。このMySQLの大きな特長は、ストレージエンジンを選択できるところにあります。そこで連載では、MySQLのストレージエンジンに焦点をあて、様々なストレージエンジンの特長や構造を解説していきます。最後まで、お付き合いください。 MySQLの概要についてはご存知の方も多いと思いますが、復習の意味も込めて簡単に紹介します。 MySQLは、MySQL社を中心として開発が進められているRDBMSで、オープンソースの標準的なプラットフォームを意味する「LAMP」という言葉(Linux/Apache/MySQLPHP)に採用されるほど有名なオープンソースです。ライセンスとしては、GPLと商用ライセンスのデュアルライセンス形態で提供されています。バージョン5.0よりストアードプロシージャやトリガなどをサポートし、他のRDB

    rikima3132
    rikima3132 2013/01/22
    第1回:MySQLストレージエンジンの概要 (1/3)
  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

  • チューニングに使えるJava性能監視ツール

    ヒープ領域とパーマネント領域 JavaVMには、独自のメモリー管理機構が搭載されています。不要になったオブジェクトを定期的に破棄してメモリーを開放するガベージ・コレクション機能と、永続的に使われるオブジェクトであるかどうかを判定する機能が搭載されています。 JavaVMが確保するメモリーには、大きく3つあります。オブジェクトを管理するヒープ領域と、読み込むクラス情報を確保するパーマネント領域、それ以外に、ランタイムが必要とするシステム領域です。 ヒープ領域は、必要に応じて保存と破棄が繰り返される領域となります。クラス情報は、パーマネント領域に格納されます。それ以外に確保されるメモリーとして、ランタイムが利用するシステム・メモリー(OS依存ヒープ・メモリー)とスレッド管理のメモリーが別領域になります。 New領域: ヒープ領域 New領域は、Eden、Survivor0、Survivor1(

  • AjaxとCometで作るリアルタイムWeb

    はじめに Ajax+Cometは、WebSocketsが定着するまでのつなぎの技術という見方もあります。しかしながら、クライアントがシンプル、プロトコルを拡張しない、といったメリットもありますので概要を紹介します。 今回は実装までのソースを解説していくのではなく、Ajax+Cometアプリケーションでの在席状況確認の仕組みやシステム構成のポイントといった部分を中心に解説していきます。 Ajax+Cometアプリケーションの場合、クライアント側にはリクエストを投げる仕掛けのみを構築しますので、Cometを実現するWebサーバーのアプリケーションが双方向通信の実体になります。 システムの構成 今回は、CometをJavaで実装するケースを想定しますので、jetttyのサーブレットの仕組みを解説することになります。 クライアント側の仕掛けは非常にシンプルですので、サーブレットの解説の前にクライア

  • オープンソースERP「Adempiere」の概要

    はじめに はじめまして。この連載では、オープンソースのERPである、Adempiereについて解説します。第1回は、概要の説明です。2回目以降は、Adempiereのインストール方法や操作方法、開発方法などについて説明する予定です。 オープンソースERPというものが存在していることをご存じでしょうか。IT業界にいる方なら、"オープンソース"という単語や"ERP"という単語を一度は聞いたことがあると思います。実際にオープンソースのソフトウエアを使って開発していたり、ERPの導入プロジェクトにかかわっていたりする人もいると思います。 しかし、"オープンソース"と"ERP"という2つの単語を組み合わせた、"オープンソースERP"となると、そのようなソフトウエアがあることを知っている人は少ないのではないでしょうか。 専門家の方に対しては説明は不要だと思いますが、まずは念のため"オープンソース"と"

  • PostgreSQLクラスタの動向

    はじめに 今回は、代表的なOSSデータベースである「PostgreSQL」を用いたデータベース・クラスタの、これまでの経緯と現状を解説します。 1. 最初はシングル・マスターのレプリケーション 最初に登場した"PostgreSQLクラスタ"は、「Slony」と呼ぶ、シングル・マスターのレプリケーション・ソフトでした。レプリケーションとは、データベース全体のコピーのことです。これを高可用性(HA)の確保や性能の向上に用いることができます。 Slonyのバージョン1.0がリリースされたのは2004年です。6年も前になります。Slonyは、トリガーの機構を使ってデータベースの変更を検出し、これを複数のスレーブに転送します。これにより、1つのマスターを利用して複数のスレーブにデータベースのコピーを置くことができるようになっています。図1に、その概要を示します。 Slonyの特徴は、原理が単純な点で

  • [Think IT] 第2回:携帯サイトの制作から公開まで (1/3)

    サイト規模に合わせて作り方を選ぶ 前回(http://www.thinkit.co.jp/article/143/1/)は、携帯サイトとPCサイトがどのように違うかを紹介しました。今回は、汎用的な携帯サイト作りを行うための制作の基から、実機テストまで含めた公開までの手順を解説します。 携帯サイトでは、キャリアによる仕様の違いがあるため、これをどの程度まで考慮するか、はじめに考えなくてはなりません。携帯サイトの作成法には、下記の5つの方法がありますが、ここでは「3キャリア対応の静的サイト+プログラム」について紹介します。 1.キャリア別に静的なサイト 2.3キャリア対応の静的サイト+プログラム 3.プログラムによる動的生成 4.CMSを使ったジェネレータ型 5.MobaSiF(http://sourceforge.jp/projects/moba)などのフレームワーク型 3キャリア対応の静

  • プロキシサーバーを作る!

    自分用のProxyサーバーを作ろう! WEBrickには、HTTPサーバーの機能が標準で装備されていますが、同時にHTTPプロキシの機能も搭載されています。 WEBrick::HTTPProxyServerというクラスがその機能を提供していますが、公式マニュアル(http://www.ruby-lang.org/ja/man/html/WEBrick_HTTPProxyServer.html)にはまったく載っていません。 しかし、「第2回:基機能の実装にチャレンジ!(http://www.thinkit.co.jp/article/117/2/)」で紹介したHTTPサーバーと非常によく似ているので、それをベースに簡単にHTTPプロキシを作ることができます。 なお、今回作成するサンプルファイルは、こちら(http://www.thinkit.co.jp/images/article/117

  • XMLデータを自由に活用しよう

    XMLファイルの構造 第1回では、XMLファイルの解説とFlashでXMLファイルを読み込む方法を説明しました。今回は、Flashで読み込んだXMLファイルの任意のデータを取り出す方法を説明します。 あらためて、第1回で利用したサンプルXMLファイル(slideshow.xml)の構造を確認したいと思います。第1回の記事をお読みでない方は、サンプルXMLファイルはこちらからダウンロード(http://www.thinkit.co.jp/images/article/83/1/8311.zip)できます(8311.zip/0.392 KB)。 サンプルXMLファイルの記述内容は階層構造になっていて、その階層構造を図で表したものが図1になります。これら階層構造によるタグ(要素)のことを「ノード」と呼び、階層構造に応じて「親ノード」「子ノード」「孫ノード」と呼びます。例えば、「photoNode

  • [Think IT] 第1回:結構良さそうだぞHTML 5! (1/3)

    【即実践!HTML+CSS】ポストWebコーディング 第1回:結構良さそうだぞHTML 5! 著者:吉田 光利 公開日:2008/04/07(月) HTML 5時代はすぐそこまで来ている! HTML 5と聞いたとき、皆さんはどう思ったでしょうか。 筆者の場合は「え?HTML 5?また覚えなきゃいけないことが出てくるの?」「もうHTMLはいいだろ」「今あるサイトはどうなっちゃうの?」「W3Cの勧告なんてあてにならないからなぁ」などというネガティブな感じです。 しかし、HTML 5について学んでいくと「おお!結構良さそうだぞHTML 5」「これは来るな!」という気持ちに変わりました。 2010年の正式勧告される予定で、そこに向かってすごいスピードで広がっています。もしかしたら、それくらいの時期には定着しているのではないかと筆者は考えています。なぜならばあのInternet Exploreもこの

  • [Think IT] 第3回:IdPサンプルでログイン機能を実装 (1/3)

    IdPを立ててみよう 「第2回:PHPで作ろうConsumer」では、PHP-OpenIDのサンプルを利用して、Consumerを作成しました。今回は引き続き「Identity Provider(以下、IdP)」を作成します。OpenIDはオープンな規格のため、自分でIdPを立ち上げることも可能なのです。 前回利用したPHP-OpenIDのバージョン2にもIdPのサンプルは含まれていますが、OpenID 2.0を使う仕様となっています。OpenID 2.0は現時点で仕様が決まったばかりであり、クライアントの中には非対応のものも存在しています。このため、今回はPHP-OpenID 1.0系のライブラリを使ったサンプルにて解説を行います。PHP-OpenID 1.0系のライブラリの現時点での最新版は1.2.3です。配布元(http://www.openidenabled.com/php-ope

  • [Think IT] 第1回:2行で簡単Identifierをはじめよう (1/3)

    使って広がるOpenIDの輪 第1回:2行で簡単Identifierをはじめよう 著者:はてな  水野 貴明 公開日:2007/12/6(木) OpenIDってなに? 最近、OpenID関連の話題を耳にすることが多くなってきました。OpenIDとは一言でいえば「外部の認証システムを利用するための共通仕様」です。連載では、このOpenIDについて、その仕組みや活用方法を実際に実装を行いながら解説していきます。 世の中には、ユーザ登録(アカウント取得)をしてログインすることで利用可能となるサービスが数多く存在します。これらのログインシステムは「そのサービスの中で利用するためのもの」で、外部のサービスがそれらのログイン情報を知ることはできません。 しかし時には、あるサービスのアカウントを他のサービスでも使いたい、という場合がでてきます。例えば、あるblogサービスに掲載されているエントリに対し

  • [ThinkIT] 第4回:Webアプリケーションを構築しよう! (1/4)

    「第3回:eXistでXQueryを実行しよう!」に続いて今回は、eXistとAjaxを使ってWebアプリケーションの構築を行います。今回のアプリケーション構築では、基的なJavaJavaScriptの知識を前提としています。 それではeXistとAjaxの組み合わせに挑戦してみましょう!

  • 1