LoginSignup
0
0

More than 3 years have passed since last update.

MacでAzure Service Fabric(Java)を試す - ローカル環境

Last updated at Posted at 2020-01-11

はじめに

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

Azure Service Fabric 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が発生する(原因不明)

あたりです。

起動後のイメージ
image.png

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を作成しようとするとこのようなエラーが発生する。
image.png
そもそも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が何もせず終了してしまう)

VSCODE.
/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
terminal.

~/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もまだ安定していない雰囲気。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0