2016-09-22 8 views
5

私は、サードパーティのプロジェクトからのすべての活動を私の要件とその作業として追跡するためのマイクロサービス(Spring Boot RESTサービス、実行可能なJARとして展開)を開発しました。再起動せずにスプリングブートサービスを再インストールしますか?

現在、いくつかのプロジェクトでは機能していますが、今ではいくつかの追加機能でサービスを更新しています。

しかし、既存のサービスをjarとしてデプロイするため、既存のサービスを再起動することなく、ライブサーバーに移動することはできません。私は私のサービスを再開するのが怖いです、再起動は、統合されたプロジェクトのデータを失うことにつながる可能性があります。

問題を解決するためにアーキテクチャにどのような改善を加えることができますか?

+0

[ホットスワップ](http://docs.spring.io/spring-boot/docs/current/reference/html/howto-hotswapping.html)を使ってこれを行う方法がありますが、それはうまくいかないでしょうJARをデプロイする場合は、また、徹底したコード変更を行った場合、クラスのために働くことはできません。 – px06

+0

応答をありがとう、クラスを再デプロイする必要もあります。 – Jamsheer

+0

あなたは、基本的にサービスレジストリにバインドされたサービスの複数のインスタンスを実行する領域です。これにより、アップグレードのために一度に1つずつダウンさせることが可能になりますが、少なくとも1つのインスタンスがまだ実行されており、クライアントには利用可能です。しかし、これは設定が簡単ではありません。 "マイクロサービスサービスレジストリ"のgoogleは良いスタートです。 – Gimby

答えて

0

最後に@Gimbyによってコメントされた解決策を得ました。

サービスの複数のインスタンスをデプロイすることでサービスのレジストリにバインドすることができます。レジストリサービスとしてeurekaを使用してこれを達成しました。また、zuulをプロキシとして使用しました。

2

JRebelとは何ですか?それは完全に私のために働いたが、残念ながら、それは無料のアプリではない。代わりに(私はこのアプローチをSpring MVCで使用していましたが、それ以外の場合もあります)、私はJBossのコンパイル済みパス上のソフトリンクを設定しました(私の場合は、targetと* .classと* jarファイル)。私にとっては、JRebelの最初のソリューションが最適です。

関連する問題