kafkaの統合手順
4549 ワード
kafkaの統合手順
一.kafka(生産者)ステップ1を統合する.インポート依存(pom.xml)2.プロファイルの作成、プロファイルのipとポート番号の変更、トピックの変更(producer.xml)3.さらにssmプロジェクトでspring.xmlでこのプロファイルをロードします.再テストクラスでどのようにロードしますか?@RunWith(SpringJUnit 4 ClassRunner.class)//生産者の構成をロード@ContextConfiguration("classpath:producer.xml")4.@Autowired KafkaTemplate kafkaTemplate;そしてsendメソッドを直接呼び出してメッセージを送信することができます!!(私たちがオブジェクトを送信する場合、一般的にはjsonに変換して送信します)kafkaTemplate.send(“cms_articles”,jsonString);
二.kafka消費者を統合するステップ1.インポート依存(pom.xml)2.プロファイルを作成し、ipとポート番号を変更し、リスナークラスの場所(consumer.xml)3を指定します。さらにssmプロジェクトでspring.xmlは、このプロファイルをロードするテストクラスで://消費者を先に起動すると、消費者が先に起動し、kafka生産者からのメッセージだけが、常に受信できるためである.public static void main(String[]args){//消費者のプロファイルをロード!new ClassPathXmlApplicationContext("classpath:consumer.xml");4.リスナーを記述するクラスはこのクラスにMessageListenerインタフェースを実現させ、onMessageメソッドを書き換えるこの方法はメッセージを傍受する方法である//爬虫類プロジェクトから送られてきた文章を傍受するjson列public class ArticleListener implements MessageListener//はメッセージを傍受する方法である@Override public void onMessage(Consumer Record data){//ここでメッセージString msg=data.value()};
一.kafka(生産者)ステップ1を統合する.インポート依存(pom.xml)2.プロファイルの作成、プロファイルのipとポート番号の変更、トピックの変更(producer.xml)3.さらにssmプロジェクトでspring.xmlでこのプロファイルをロードします.再テストクラスでどのようにロードしますか?@RunWith(SpringJUnit 4 ClassRunner.class)//生産者の構成をロード@ContextConfiguration("classpath:producer.xml")4.@Autowired KafkaTemplate kafkaTemplate;そしてsendメソッドを直接呼び出してメッセージを送信することができます!!(私たちがオブジェクトを送信する場合、一般的にはjsonに変換して送信します)kafkaTemplate.send(“cms_articles”,jsonString);
二.kafka消費者を統合するステップ1.インポート依存(pom.xml)2.プロファイルを作成し、ipとポート番号を変更し、リスナークラスの場所(consumer.xml)3を指定します。さらにssmプロジェクトでspring.xmlは、このプロファイルをロードするテストクラスで://消費者を先に起動すると、消費者が先に起動し、kafka生産者からのメッセージだけが、常に受信できるためである.public static void main(String[]args){//消費者のプロファイルをロード!new ClassPathXmlApplicationContext("classpath:consumer.xml");4.リスナーを記述するクラスはこのクラスにMessageListenerインタフェースを実現させ、onMessageメソッドを書き換えるこの方法はメッセージを傍受する方法である//爬虫類プロジェクトから送られてきた文章を傍受するjson列public class ArticleListener implements MessageListener//はメッセージを傍受する方法である@Override public void onMessage(Consumer Record data){//ここでメッセージString msg=data.value()};
三.redisを統合する手順1.インポート依存(pom.xml)2.プロファイルを作成し、ipとポート3を変更します.これをxmlはredisをロードする.xml 4.コードの位置にRedisTemplate 5を注入することができる.redisをcrudできるようになりました
redis最適化手順(キャッシュ)/初回アクセス1.ユーザが初めてアクセスするとき、redisからデータ2を問い合わせる.redisでクエリのデータが空かどうかを判断する.空の場合、最初のアクセスを意味するmysqlからデータを問合せ、redisに1部保存し、フロント//2,3,4...へのアクセス4.空でなければ、初めてのアクセスではなく、フロントに直接戻ることを意味します
四.ElasticSearchを統合する手順1.インポート依存(pom.xml)2.プロファイル(es.xml)3を作成する.IPアドレスとポート番号の変更&&倉庫インタフェースのパケットスキャン位置の変更4.スプリングにesをロードさせます.xml 5.ステップ3の倉庫インタフェースパッケージの場所で倉庫インタフェースXXXXRepository 6を作成する.倉庫インタフェースにElasticSearchRepositoryを継承させることで、簡単なCRUDの方法を自動的に備える.エンティティクラスを宣言する様々な注釈(インデックス・ライブラリ名、テーブル名、プライマリ・キー、エンティティ・クラス属性格納パラメータを指定)//ライブラリ名を指定(ライブラリ名は純粋な小文字の名前でなければならず、特殊文字は許可されません.そうしないとエラーが発生します)、テーブル名@Document(indexName="test_user"、type="user")@Id//nameの値がインデックスかどうかを指定します.保存するかどうか3.nameの値の分詞方式4.検索するキーワード分詞の仕方5このフィールドの値がどのようなデータ型で格納されるかを指定する@Field(index=true,store=true,analyzer="ik_smart"、searchAnalyzer="ik_smart"、type=FieldType.text)8は任意の場所で注入倉庫インタフェースを行うこともできるし、ElasticSearchTemplate@Autowired UserRespository respository;Autowired ElasticsearchTemplate elasticsearchTemplate; crudメソッドを呼び出すことができます注意:複雑なポイントのクエリーを行う場合は、メソッドをカスタマイズする必要があります.カスタムメソッドのルールは、名前付きルールに従ってメソッドの名前を付ける必要があります.具体的な例は、List findByName(String name);//
// List findByAddress(String address);
//
// //
// List findByAddressAndName(String address,String name);
// //
// List findByAddressOrName(String address,String name);
// id 5
// List findByIdLessThan(int id);
// -
List findByPriceBetween(double money,double money)
cmsシステムでは、検索(ハイライト表示)1を実現する.ページレベル->検索ボックスと検索ボタンが必要です.検索ボックスのformフォームの要求方式と要求経路を変更する.フロントのform表現の要求方式に従って、バックグラウンドcontroller層を作成する.(controllerレイヤのコードに、私たちの検索キーワードを受信させます).私たちの検索データはesインデックスライブラリから検索されるので、mysqlからデータを検索し、esインデックスライブラリesインデックスライブラリに保存するとデータがあります.cmsシステムには集積es技術があるので、cmsシステムではesを統合する->参考四6.倉庫インタフェース(findByTitle()を呼び出して、通常の検索(非ハイライト)7を実現することができる.ハイライトを実行する場合は、ハイライト表示されたツールクラス//1を呼び出す.必要なテンプレートクラス2を検索します.操作するエンティティークラスのタイプ3を指定します.現在のページ4.ページごとに何本表示されますか.stringタイプの配列配列に格納されているのは、検索を行うフィールドです(エンティティクラスのフィールドと一致する必要があります).ソートするフィールド7を指定します.検索キーワードPageInfo info=(PageInfo)HLUtils.findByHighLight(elasticsearchTemplate, cms_article.class, pageNum, pageSize, new String[] {“title”}, “id”, key);
================================================================================データベースの関連接続の変更:db.propertiesの中でmysqlのipアドレスをwindowsのip(ipconfig、もし接続するのが無線ネットならば、無線LANアダプタIpv 4のアドレスを探してもし接続するのがネットの線ならば、ローカルエリアネットワークを探して、ローカルはipv 4に接続します)2.あなたのプロジェクトに対して、右クリックRun as-->Maven build-->package(skip testsをスキップ)–彼が実行し終わるのを待っています.実行後、ログにwarパッケージの場所を見つけ、デスクトップにコピーしてROOTと名前を変更します.war 4.ROOT.warはlinuxのtomcatディレクトリの下のwebappsの下にアップロードし、ROOTフォルダ5を削除します.tomcatのbinディレクトリの1レベルに進み、->./bin/shutdown.sh tomcat->tomcatログtail-f logs/catalinaを動的に表示する.out --> ./bin/startup.sh tomcat 6を開く.ブラウザ直接入力:linuxのip:8080/アクセスパス7.linuxのip仮想ドメイン名-->cディスクの下に次のパスを見つけます:C:WindowsSystem 32driversetc hostsファイルを見つけて、右クリックして開いて、1つ追加します:192.168.21.128 www.gengjiaxin.com保存9.直接ブラウザでドメイン名のプラスのスローガンの形式を利用して注意にアクセスしました:=プロジェクトの配置の时:もしあなたがあなたのステップがすべて正しいと思ったら、プロジェクトも正しいと思って、しかし、アクセスプロジェクトはずっと回転して、アクセスできないのはあなたのwindowsの上のmysqlがインストールする时、リモートユーザーのアクセスを许さない(localhostあるいは127.0.0.1だけアクセスを许す)ただ小さい绿叶を开けて以下の2つのコマンドを実行するだけです:GRANT ALL PRIVILEGES ON.TO‘root’@’%’IDENTIFIED BY‘これはあなたのmysqlのパスワードです’;flush privileges;
四.ElasticSearchを統合する手順1.インポート依存(pom.xml)2.プロファイル(es.xml)3を作成する.IPアドレスとポート番号の変更&&倉庫インタフェースのパケットスキャン位置の変更4.スプリングにesをロードさせます.xml 5.ステップ3の倉庫インタフェースパッケージの場所で倉庫インタフェースXXXXRepository 6を作成する.倉庫インタフェースにElasticSearchRepositoryを継承させることで、簡単なCRUDの方法を自動的に備える.エンティティクラスを宣言する様々な注釈(インデックス・ライブラリ名、テーブル名、プライマリ・キー、エンティティ・クラス属性格納パラメータを指定)//ライブラリ名を指定(ライブラリ名は純粋な小文字の名前でなければならず、特殊文字は許可されません.そうしないとエラーが発生します)、テーブル名@Document(indexName="test_user"、type="user")@Id//nameの値がインデックスかどうかを指定します.保存するかどうか3.nameの値の分詞方式4.検索するキーワード分詞の仕方5このフィールドの値がどのようなデータ型で格納されるかを指定する@Field(index=true,store=true,analyzer="ik_smart"、searchAnalyzer="ik_smart"、type=FieldType.text)8は任意の場所で注入倉庫インタフェースを行うこともできるし、ElasticSearchTemplate@Autowired UserRespository respository;Autowired ElasticsearchTemplate elasticsearchTemplate; crudメソッドを呼び出すことができます注意:複雑なポイントのクエリーを行う場合は、メソッドをカスタマイズする必要があります.カスタムメソッドのルールは、名前付きルールに従ってメソッドの名前を付ける必要があります.具体的な例は、List findByName(String name);
//
// List findByAddress(String address);
//
// //
// List findByAddressAndName(String address,String name);
// //
// List findByAddressOrName(String address,String name);
// id 5
// List findByIdLessThan(int id);
// -
List findByPriceBetween(double money,double money)
cmsシステムでは、検索(ハイライト表示)1を実現する.ページレベル->検索ボックスと検索ボタンが必要です.検索ボックスのformフォームの要求方式と要求経路を変更する.フロントのform表現の要求方式に従って、バックグラウンドcontroller層を作成する.(controllerレイヤのコードに、私たちの検索キーワードを受信させます).私たちの検索データはesインデックスライブラリから検索されるので、mysqlからデータを検索し、esインデックスライブラリesインデックスライブラリに保存するとデータがあります.cmsシステムには集積es技術があるので、cmsシステムではesを統合する->参考四6.倉庫インタフェース(findByTitle()を呼び出して、通常の検索(非ハイライト)7を実現することができる.ハイライトを実行する場合は、ハイライト表示されたツールクラス//1を呼び出す.必要なテンプレートクラス2を検索します.操作するエンティティークラスのタイプ3を指定します.現在のページ4.ページごとに何本表示されますか.stringタイプの配列配列に格納されているのは、検索を行うフィールドです(エンティティクラスのフィールドと一致する必要があります).ソートするフィールド7を指定します.検索キーワードPageInfo info=(PageInfo)HLUtils.findByHighLight(elasticsearchTemplate, cms_article.class, pageNum, pageSize, new String[] {“title”}, “id”, key);
================================================================================データベースの関連接続の変更:db.propertiesの中でmysqlのipアドレスをwindowsのip(ipconfig、もし接続するのが無線ネットならば、無線LANアダプタIpv 4のアドレスを探してもし接続するのがネットの線ならば、ローカルエリアネットワークを探して、ローカルはipv 4に接続します)2.あなたのプロジェクトに対して、右クリックRun as-->Maven build-->package(skip testsをスキップ)–彼が実行し終わるのを待っています.実行後、ログにwarパッケージの場所を見つけ、デスクトップにコピーしてROOTと名前を変更します.war 4.ROOT.warはlinuxのtomcatディレクトリの下のwebappsの下にアップロードし、ROOTフォルダ5を削除します.tomcatのbinディレクトリの1レベルに進み、->./bin/shutdown.sh tomcat->tomcatログtail-f logs/catalinaを動的に表示する.out --> ./bin/startup.sh tomcat 6を開く.ブラウザ直接入力:linuxのip:8080/アクセスパス7.linuxのip仮想ドメイン名-->cディスクの下に次のパスを見つけます:C:WindowsSystem 32driversetc hostsファイルを見つけて、右クリックして開いて、1つ追加します:192.168.21.128 www.gengjiaxin.com保存9.直接ブラウザでドメイン名のプラスのスローガンの形式を利用して注意にアクセスしました:=プロジェクトの配置の时:もしあなたがあなたのステップがすべて正しいと思ったら、プロジェクトも正しいと思って、しかし、アクセスプロジェクトはずっと回転して、アクセスできないのはあなたのwindowsの上のmysqlがインストールする时、リモートユーザーのアクセスを许さない(localhostあるいは127.0.0.1だけアクセスを许す)ただ小さい绿叶を开けて以下の2つのコマンドを実行するだけです:GRANT ALL PRIVILEGES ON.TO‘root’@’%’IDENTIFIED BY‘これはあなたのmysqlのパスワードです’;flush privileges;