概述SprintBoot总体上还是比较容易搭建的,尤其是SpringCloud全家桶,简称亲民微服务,但在发展趋势上,容器化技术已经成熟。买不起。现在很多新诞生的JAVA微服务框架,多以“轻量级”为主,主要是SprintBoot太重了。基于JAVA的微服务框架No1-SpringCloud>介绍有了Spring的支持,更新、稳定、成熟的问题完全不用考虑。JAVA部门的技术人员大部分都听说过Spring的大名,所以不缺程序员……而且上手难度很低,完全可以省下一个架构师。但是,你必须在服务器上付费:至少有一台服务器用于“服务发现”;可能有一个统一的网关Gateway;可能需要一个用于“分布式配置管理”的配置中心;可以执行“服务跟踪”,知道我的请求从哪里来,到哪里去;可能需要“集群监控”;项目上线后,发现需要的服务器很多,每次往集群中添加服务器都心疼;>压力测试30秒~压力测试前内存占用如图,内存占用304M。~压测时的内存占用如图,内存占用1520M(1.5G),CPU升到321%~Overview~简单应用SprintBoot总结,至少1G内存,还有一个一个业务点较少的微服务编译出来的JAR大约50M;而SprintCloud会引入相对更多的组件,消耗更多的资源。启动时间约10秒:StartedApplicationin10.153seconds(JVMrunningfor10.915)JAVA-basedresponsiveprogrammingtoolkitVert.x>介绍EclipseVert.x[1]是一个用于在JVM上构建响应式应用程序的工具包.定位与SprintBoot不冲突,Vert.x甚至可以与SprintBoot结合使用。许多Vert.x模块提供了大量的微服务组件,这是很多人眼中微服务架构的一种选择。华为的微服务框架ApacheServiceComb[2]是使用Vert.x作为底层框架实现的。在“标杆网站TechEmpower”中,Vert.x的表现也非常出色。>压测30秒~压测前的内存使用情况如图,内存使用65M。~压力测试时的内存使用情况如图。内存占用139M,CPU占用2.1%。好像没有做压力测试。~Overview~SummaryVert.x单个服务包约7MJAR,不依赖Tomcat、Jetty等容器,直接运行在JVM上。Vert.x消耗的资源非常少。感觉1核2G的服务器已经可以部署很多Vert.x服务了。除了代码问题,它真的很适合小项目和小模块。git市场上出现了基于Vert.x的开源网关——VX-API-Gateway帮助文档[3]支持多种语言,非常适合小项目快速上线。启动时间小于1秒:0.274秒启动Vert.x(JVM运行0.274秒)SparkJavajar是JAVA系列的其他微服务框架,比较小,10M左右,占用内存小,30~60MB左右;性能还不错,类似于SprintBoot;MicronautGrails团队的新宠;可以用Java、Groovy和Kotlin编写的基于微服务的应用程序;与SprintBoot相比,更全面;性能更好,编码方式类似SprintBoot;启动时间和内存消耗比其他框架更高效;多种语言;依赖注入;内置各种云原生功能;非常新,刚刚发布了1.0.0Javalin,非常容易上手;灵活,兼容同步和异步两种编程思想;JAR小,4~5M;多种语言;KOA可用Shadow;仅约2000行源码,源码简单,易于理解和修复;符合当今的趋势;多语言;嵌入式服务器Jetty;还有很多DEMO;适合云原生;native之后,毫秒级的启动非常有吸引力,占用内存非常小,资源消耗少,性能非常棒。
