参加了2018年的春节庆典时,我留意到的一项技术
首先
我参加了2018年的春季节庆活动,并参加了一些会议。
在其中,我将介绍我觉得“想了解更多”或“想在我的开发中尝试”的技术等。
*有关哪些会议以及我参加的会议内容的说明,我不在此次提及。(Spring Fest 2018的官方网站上有会议和演示幻灯片等。)
因为还在进行中,所以我会逐渐更新。
Java虚拟机(JVM)和Kotlin的相关性
GraalVM
如果考虑在云环境中运行,这个功能似乎非常有优势,值得关注。
-
- JavaScript, Python, Ruby, R, JVM, JVM言語(Java, Scala, Kotlin, Clojure), C, C++ などの多くの言語が動くVM
-
- Nativeイメージにコンパイルすることができ、JVMベースアプリの起動時間やメモリのフットプリントを減らせる
- Keynoteでのアプリのデモでは、GraalVMとNettyで0.007秒で起動し、メモリ使用量もすごく少ないよという話があった
春馥
Kotlin在Spring中也积极地提供支持!
-
- Kofuと呼ばれるKotlin DSLで、アノテーションではなくコードベースの設定記法(functional configuration)で軽量なSpringアプリケーションを作成できる実験的プロジェクト
-
- Java向けのJafuというのもある
- Jafu,Kofuを総称してSpring Fuと呼ぶみたい
反应性的Web应用程序
这个领域的技术未来可能会变得更加繁荣。《Spring 5入门指南》为准备相关的反应式编程提供了相当有价值的参考。
春季 WebFlux
- ノンブロッキングのイベントループモデルで動くReactive Streamsで作成されたアプリケーションフレームワーク
R2DBC
- RDBをreactive programming APIで利用できる
RSocket
- TCP, WebSocket, Aeronのようなバイトストリームト転送で使用するためのバイナリプロトコル
监控
我感觉到,对于持续的服务运营来说,早期服务问题的检测、性能改善和新功能效果的可视化已经成为必不可少的!
普罗米修斯 (Pǔ luó mǐ xiū sī)
-
- もともとSoundCloud社で作られた、OSSのシステム監視/アラート通知ツール
-
- メトリクス名とkey/valueのペアごとの時系列データを持つ、多次元データモデル
-
- 多次元データモデルを利用するための柔軟なクエリが用意されている
-
- 分散ストレージに依存しない、自立型の単一サーバノード
-
- pull型監視(Prometheus -> 監視対象サーバ)による時系列コレクション
-
- ゲートウェイを介したpush型の時系列モデルもサポートしてる
O’REILYのSRE本でも紹介されてる
バイナリ実行するだけで動く
千分尺 chǐ)
-
- 様々なモニタリングシステムに対して、共通のインターフェースで利用できる機能を提供している
-
- SLF4Jのメトリクス版のようなもの
- Prometheusもサポートしている
Spring Boot执行器
/actuator/***というエンドポイントへアクセスするだけで、Spring Bootアプリケーションのモニタリングなどができる機能
内部でMicrometerを利用している
Grafana 是一个数据可视化和监控仪表盘的开源平台。
- 簡単にかっこいいグラフが作れる、ログやデータの可視化ツール
有助于构建微服务/分布式系统的技术。
豪猪
-
- 分散システム上で発生するレスポンス遅延やサービスダウン時の挙動を制御するライブラリを提供しているOSS
-
- サーキットブレーカーの機能が有名
-
- 外部サービスの呼び出しの失敗、遅延が発生してリクエストが詰まりそうになった場合、設定したエラーを返したり直前の値をキャッシュしたものを返すなどができる
- Netflixが開発している
Zipkin 皮金
- 分散システムで、あるリクエストが複数のサーバをまたがって処理している場合にどこで時間がかかっているかなどのデータを収集して原因調査などに役立てることができる
Apache Kafka is a distributed streaming platform developed by Apache Software Foundation.
- MQやPub/Subなどを利用できる分散メッセージングシステム
CI周り指的是企業形象的各个方面。
由于与春季没有太多关系,但觉得很有趣,所以记下来。
在Concourse中使用多个Java版本并行执行UT测试。
-
- 将来的にJavaをバージョンアップする時にすぐ移行できるように、実施しているとのこと
- 実際にTLS証明書のハンドシェイク周りのバグで、jdk11ではテスト失敗し、jdk12では成功するという状態を発見したこともあったらしい
每天使用JMeter进行负载测试并生成报告。
-
- 綺麗なレポートを作成できるらしい
- テスト環境などで毎日実施して、Slackでレポート通知などすることもできる