radioc@?

レディオキャットハテナ

【勉強会メモ】Payara&関ジャバイベント

kanjava.connpass.com

  • 日時:2018/10/16(火) 19:00 〜 21:00
  • 場所:サイボウズ株式会社 大阪オフィス

f:id:radiocat:20181016235616p:plain

今回の関ジャバはJakarta EEについてのおさらいと、Payara、Hazelcastの特集でした。 ParyaraとかHazelcastとか何?というのはこのあたりの情報を参照。

ascii.jp

Payaraのほうは概ね理解できたのですが、Hazelcastのほうは個人的に馴染みの薄いプラットフォームなので理解度が低いです。拙いメモになっていますがご容赦ください。

なお、Hazelcastのほうのセッションを担当されていたかたが来られなくなったとのことで、すべてのセッションがPayaraの蓮沼賢志さんによる説明でした。

Session 1: To see the future - Jakarta EE, MicroProfile and Payara

Session 1-1: Jakarta EE Update - October 2018

JavaEE8

昨年秋に策定

↓移管

Eclipse EE4J

JakartaEE working Group

  • Steering Committee
    • Strategic Memberが中心に引っ張る
  • Specification Committee
    • JakartaEEの仕様に関する部分を扱う
  • Marketing Committee
    • どういう方向に持っていくかを考える
  • Enterprise Requirement Committee

Jakarta EE Strategic Members

EE4J Project

  • Project Management Committee
    • Oracleが持っていたJavaEEの資産を引き継いでいく
  • Project Lead
  • Committer
  • Contributer

Migration Status

www.eclipse.org

Roadmap

  • Source Code Moves⇒2018年中
  • EE4J側でGlassFishをビルドし直してJavaEE8の標準であることを証明
  • Jakarta EEのマイナーチェンジ
  • Jakarta EEでの新しいGlassFishを作る
  • Jakarta EE9の開発

※参考

www.infoq.com

Session 1-2: Introduction to Payara Platform 5.183

What's Payara?

  • Derived from GlassFish
  • MicroProfile compatible
  • 365日24時間サポートあり
  • 4半期ごとにリリース
  • 有償版は毎月バグフィクス提供

Payara Platform

  • payara Server
  • Payara Micro
    • 軽量ランタイム
    • マイクロサービス向け
    • ラズパイ上で動かしたという情報もある

Payara's Version

  • Payara 4.1.2.181
    • 4.1.2⇒GlassFish 4.1.2互換
    • 181⇒2018年Q1

Production Enhancements

New Features for 5.183

  • MicroProfile 2.0サポート

Bash auto completion

  • asadmin.autocompleteを読み込むとpathが通る
  • 自動補完がきく
  • Bash専用

Download

https://www.payara.fish/software/downloads/

Session 1-3: MicroProfile 2.0 Overview with Payara Platform

MicroProfile is

  • JavaEEAPIを追加してマイクロサービス向けに作ったサブセット
  • Payaraも初期から主導

Implementations

  • いろんなベンダーの実装を選べる
    • Open Liberty/WebSphere Liberty(商用)
    • Thorntail
    • Payara Micro

Features Overview

MicroProfile 1.0

  • 2016年9月
  • 基本骨格

MicroProfile 1.1

  • Config 1.1が追加

MicroProfile 1.2

  • 2017年9月
  • 以下が追加
    • Metrics 1.0
    • Fault Tolerance 1.0
    • Health Check 1.0
    • JWT 1.0

MicroProfile 1.3

  • 追加
    • OpenAPI OpenAPI v3、実態はSwagger
    • Open Tracing
    • Rest Client
      • TypeセーフなRESTクライアント

MicroProfile 1.4

  • APIは変化なし
  • Java EE7/8両方動く

MicroProfile 2.0

  • ベースとなるJavaEE共通部分がEE8対応
  • Java EE8で動く

Session 2: Thinking Distributed: The Hazelcast Way

Hazelcast

  • 分散コンピューティングを実現するプラットフォーム
  • 2つの製品
    • IMDG(in-memory Data Grid)
    • JET

とにかく世の中にデータが多くなってきた

今後2040年までに年40%ペースで増える

4つのV

  • Volume
  • Velocity
  • Variety
  • Value

Hazelcastの特徴

  • スケールしやすい
  • 障害に強い
  • ピュアJava
    • Javaの標準のAPIを使っている
  • 高パフォーマンス

In Memory Data Grid

3つの役割

  • ストレージ
    • In Memory Caching
    • データストアシステムの間にHazelcastが入ってキャッシュする
  • データ処理
  • データ受け渡し

キャッシング

キャッシング - Hazelcast.com

HD Memory

  • 使うメモリの大半をネイティブ領域に追いやってHeapを最小限にすることでパフォーマンスを上げる
  • Javaのメモリ管理ではGCがパフォーマンスに影響
    • Heapの容量が大きくなるとGCの時間も長くなる

データ処理

  • Executor Service APIを使う
  • Lock API⇒悲観ロック、楽観ロックをサポート
  • Messaging
    • Queue
    • Topic
    • RingBuffer
  • NodeごとにPrimaryとBackupを持つ
    • Nodeの増減によってBackupがリバランスされる
  • MicroServiceのスケーリング
    • Java以外の言語も使える

※参考

kazuhira-r.hatenablog.com

Hazelcast Cloud

今年の8月に発表

hazelcast.com

Management Center

Webベースの管理コンソール

Jet

Edition

  • OSS
  • Pro…OSSにサポート
  • Enterprise⇒追加機能あり
  • Enterprise HD⇒HD Memoryをサポート

hazelcast.com

リリースサイクル

  • 4,5ヶ月ごとにバージョンアップ
    • 直近:3.3、3.4、3.5
  • 3.xのx部分が一致していないとクラスタが組めない
  • 有償版は1メジャーバージョン(3.xのxの部分の1つ違い)の互換性は保証
    • OSS版は無停止でバージョンアップできない