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 会进行更多的测试,保证稳定的同时,尽可能的提高性能。
开源推荐
mica
Spring boot 微服务核心组件集:https://gitee.com/596392912/micaAvue
一款基于vue可配置化的神奇框架:https://gitee.com/smallweigit/avuepig
宇宙最强微服务(架构师必备):https://gitee.com/log4j/pigSpringBlade
完整的线上解决方案(企业开发必备):https://gitee.com/smallc/SpringBladeIJPay
支付SDK让支付触手可及:https://gitee.com/javen205/IJPay
关注我们
扫描上面二维码,更多精彩内容每天推荐!