はじめに
Azure Service Fabric(Java)を試したので記録として残しておきます。
動作確認環境
OS:
macOS Mojave Version 10.14.6 (18G84)
STS:
Spring Tool Suite 4
Version: 4.5.0.RELEASE
Build Id: 201912171052
Eclise:
Eclipse IDE for Java Developers
Version: 2019-12 (4.14.0)
Build id: 20191212-1212
1. 準備
1.1 CLI
1.2 ローカル開発環境
Set up your development environment on Mac OS X
1.3 今回良く使用するコマンド類
docker run -itd -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 -p 8080:8080 -v [/Users/tworks55/eclipse-workspaces/mySFWorkspace]:/tmp/mySFWorkspace --name sfonebox mysfcluster
* [/Users/tworks55/eclipse-workspaces/mySFWorkspace]部分は環境に合わせて変更
sfctl cluster select --endpoint http://localhost:19080
docker logs sfonebox
docker stop sfonebox
docker rm -f sfonebox
1.3 今回良く使用するURL
http://localhost:19080/
http://localhost:8080/
2. 検証結果
2.1 クイック スタート:Azure Service Fabric 上に Java Spring Boot アプリをデプロイする
クイック スタート:Azure Service Fabric 上に Java Spring Boot アプリをデプロイする
ひとまずデプロイは可能だが、Scale up/Fail Over時がイマイチ。ローカル環境だから仕方ないのかもしれません。
注意点としては、
- sftestclusterを立ち上げる際に -p 8080:8080 を忘れないようにする事
- entryPoint.shに書くjarファイルの名前がBuildされたものと一致している事
- Scaleさせインスタンスを3つにするとPortが被ってエラーになる(想定どおり?)
- 起動中のインスタンスを再起動しFailOverするがDownTimeが発生する(原因不明)
あたりです。
2.2 クイック スタート:Azure Service Fabric on Linux に Java アプリをデプロイする
クイック スタート:Azure Service Fabric on Linux に Java アプリをデプロイする
Eclipse/STS on MacでPlugin使えない。Projectを右クリックしてもServiceFabricのメニューが出ない。
プロジェクトを右クリックして、 [Service Fabric] ドロップダウンの Publish Application を選択します。
の操作ができない。
2.3 チュートリアル:Azure Service Fabric 上に Java API フロントエンド サービスとステートフル バックエンド サービスを含むアプリケーションを作成する
チュートリアル:Azure Service Fabric 上に Java API フロントエンド サービスとステートフル バックエンド サービスを含むアプリケーションを作成する
Eclipse/STS on MacでPlugin使えない。Projectを作成しようとするとこのようなエラーが発生する。
そもそもLinux向けでWindowsはダメのようだが、Macはどうなんでしょう?
https://github.com/MicrosoftDocs/azure-docs/issues/30819
以下を確認する限りではMacでも行けそうですが。
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-fabric/service-fabric-get-started-eclipse.md
[!NOTE] If Eclipse isn't working as expected on your Mac, or needs you run as super user), go to the ECLIPSE_INSTALLATION_PATH folder and navigate to the subfolder Eclipse.app/Contents/MacOS. Start Eclipse by running ./eclipse.
2.4 Visual Studio Code を使用して Java Service Fabric アプリケーションを開発する
Visual Studio Code を使用して Java Service Fabric アプリケーションを開発する
Service Fabric Reliable Services extension for VSCodeを使って BuildしてもBuildされなかったため、TerminalでBuildを実施。
(VSCodeから通っているPATHが足りないのか、Gradleが何もせず終了してしまう)
/asf/service-fabric-java-quickstart $ gradle
> Task :help
Welcome to Gradle 6.0.1.
To run a build, run gradle <task> ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
To see more detail about a task, run gradle help --task <task>
For troubleshooting, visit https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.0.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 685ms
1 actionable task: 1 executed
~/asf/service-fabric-java-quickstart $ gradle --version
------------------------------------------------------------
Gradle 6.0.1
------------------------------------------------------------
Build time: 2019-11-18 20:25:01 UTC
Revision: fad121066a68c4701acd362daf4287a7c309a0f5
Kotlin: 1.3.50
Groovy: 2.5.8
Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM: 1.8.0_231 (Oracle Corporation 25.231-b11)
OS: Mac OS X 10.14.6 x86_64
~/asf/service-fabric-java-quickstart $ gradle
> Task :help
Welcome to Gradle 6.0.1.
To run a build, run gradle <task> ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
To see more detail about a task, run gradle help --task <task>
For troubleshooting, visit https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.0.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 584ms
1 actionable task: 1 executed
~/asf/service-fabric-java-quickstart/Voting $ gradle
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.0.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 32s
15 actionable tasks: 11 executed, 4 up-to-date
~/asf/service-fabric-java-quickstart/Voting $
その後、extensionの機能でinstallし正常稼働。VSCODEのExtensionもまだ安定していない雰囲気。