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
•处理几处 P3C 代码检查问题。@冷冷•优化泛型,避免部分环境下的编译问题。•添加 lutool 中的 WebUtil.renderJson()。•优化 DateUtil 性能。•优化 RuntimeUtil,提高性能。•升级 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 的线程问题。