Spring Boot 在阿里全球速卖通的应用


徐晓斌 | AliExpress | 高级技术专家

讲师介绍

  • 10年+的软件开发经验
  • 现在AliExpress 的team leader,专注于使用微服务和DevOps等方法提高技术生产力和稳定性
  • 《Maven实战》的作者

AliExpress公司介绍

  • 阿里巴巴集团子公司
  • 最大的跨境交易平台
  • 2016年双十一,在230个国家有600万消费者完成了3578万订单。

2013年至今的技术更新

  • svn -> Git & Gitlab
  • maven2 -> maven3
  • java6 -> java8
  • JBoss4 -> 内置Tomcat8
  • war -> 可执行jar & Spring Boot & Spring Cloud
  • SpringFramework2.X -> SpringFramework4.x
  • Servlet API2.x -> Servlet API3.1

背景概览

  • AliExpress有成百上千的Java应用
  • 主要使用HSF同步通讯(类似于gRPC)
  • 有一部分使用MetaQ异步通讯(类似于Kafka)
  • 多个数据中心
  • 所有app使用相同的发布系统和监控系统

为什么选择SpringBoot

  • 简单
  • 可以提高开发效率
  • 成熟的开源社区
  • cloud native框架

简单而强大的Spring Boot技术

BOM

使用非常简单,只需要简单的引入就可以了

健康检查

这个功能在集群中非常重要,可以自动做到机器的上下线,不用在晚上因为机器损坏而睡不着觉。

错误分析器

可以明确的告诉你错误的点在哪里,并提出解决方案。

SpringApplicationEvent

SpringApplicationEvent包含五个事件类型,在启动应用的各环节触发,如开始、初始化环节、加载完成等,具体可参考咱们之前的文章:

PropertySourceLocator

目前Spring Boot支持.properties和.yml格式的配置文件格式,如果你愿意,完全可以省略掉xml。对应这个接口的两个实现类分别是:

PropertiesPropertySourceLoader和YamlPropertySourceLoader

属性配置

支持属性的自动注入

还支持Bean的个性化配置

logback

Spring Boot推荐使用logback,并在阿里内部定义了非常复杂的base.xml,用于规范化日志标准。

endpoints

总结

Q&A

图略了,实在太大了。

个人总结

本次演讲主题主要讲解了Spring Boot在AliExpress的应用情况,以及Spring Boot的几个突出的特性。

现在AliExpress已经有几百个Spring Boot的应用,集群更是达到了几千上万台机器。说明Spring Boot已经得到了充分的验证。

所以推荐大家学习使用Spring Boot。

这种场合的演讲,当然不会特别深入技术细节,接下来我会就徐晓斌老师介绍的几个点深入下去,放在Spring Boot深入原理专题里,感兴趣的同学可以多多关注。

 

 

马军伟
关于作者 马军伟
写的不错,支持一下

先给自己定个小目标,日更一新。