Spring boot 微服務核心元件集 mica v1.0.1 釋出
mica(雲母)
mica 雲母,寓意為雲服務的核心,使得雲服務開發更加方便快捷。mica 的前身是 lutool,lutool在內部孵化了小兩年,已經被多個朋友運用到企業。由於 lutool 對微服務不夠友好,故重塑了mica。mica 中的部分大部分元件進行了持續性打磨,增強易用性和效能。
mica 核心依賴
mica 基於 java 8,沒有歷史包袱,支援傳統 Servlet 和 Reactive(webflux)。採用 mica-auto 自動生成 spring.factories 和 spring-devtools.properties 配置,僅依賴 Spring boot、Spring cloud 全家桶,無第三方依賴。市面上鮮有的微服務核心元件。
更新說明
[1.0.1] - 2019-04-03
-
:ok_hand: 處理幾處 P3C 程式碼檢查問題。@冷冷
-
:zap:️ 優化泛型,避免部分環境下的編譯問題。
-
:sparkles: 新增 lutool 中的 WebUtil.renderJson()。
-
:zap:️ 優化 DateUtil 效能。
-
:zap:️ 優化 RuntimeUtil,提高效能。
-
:zap:️ 升級 gradle 到
5.3.1
。
本次版本主要是進行了一些工具的壓力測試:
Bean copy 測試
Benchmark | Score | Error | Units |
---|---|---|---|
hutool | 1939.092 | 26.747 | ops/ms |
spring | 3569.035 | 39.607 | ops/ms |
cglib | 9112.785 | 560.503 | ops/ms |
mica | 17753.409 | 393.245 | ops/ms |
結論:mica 在非編譯期 Bean copy 效能強勁,功能強大。
UUID 壓測
Benchmark | Score | Error | Units |
---|---|---|---|
jdk8UUId | 734.595 | 17.220 | ops/ms |
jdk8ThreadLocalRandomUUId | 3224.759 | 32.107 | ops/ms |
hutoolFastSimpleUUID | 3619.748 | 67.195 | ops/ms |
micaUUId(java9 方式) | 12375.405 | 241.879 | ops/ms |
結論:mica 在使用了 java9 的演算法,效能卓越。
Date format 壓測
Benchmark | Score | Error | Units |
---|---|---|---|
java8Date | 2405.924 | 44.912 | ops/ms |
micaDateUtil | 2541.753 | 48.321 | ops/ms |
hutoolDateUtil | 2775.531 | 13.526 | ops/ms |
結論:hutool 使用的 common lang3 的 FastDateFormat 佔用優勢。mica 使用 tomcat8 中的 ConcurrentDateFormat 簡單的規避了 SimpleDateFormat 的執行緒問題。
後期 mica 會進行更多的測試,保證穩定的同時,儘可能的提高效能。
文件
- 文件地址(官網):https://www.dreamlu.net/#/doc/docs
- 文件地址(語雀-可關注訂閱):https://www.yuque.com/dreamlu/mica
協議 LGPL v3
允許以引入不改原始碼的形式免費用於學習、畢設、公司專案、私活等。
特殊情況修改程式碼,但仍然想閉源需經過作者同意。
參考請註明:參考自 mica:https://gitee.com/596392912/mica