最近超火的SOFABoot是个什么东西?带你快速入门SOFABoot

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 最近超火的SOFABoot是个什么东西?带你快速入门SOFABoot

最近发现了一个新的开源项目:SOFABoot,再加上公司用的框架也是SOFABoot,所以给将这个框架分享给大家,希望能扩展大家的视野。


首先我们需要知道什么是SOFABoot?


SOFABoot 是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如

Readiness Check,类隔离,日志空间隔离等等能力。


下面是他的项目地址:


https://gitee.com/sofastack/sofa-boot


为什么要选择SOFABoot?他能解决什么问题?


根据官方介绍,他主要能解决以下的问题:



Spring Boot 的健康检查只有 Liveness Check 的能力,缺少 Readiness Check 的能力

这里给大家科普一下Liveness Check 和 Readiness Check 是什么东西


Liveness Check 和 Readiness Check 概念来自于 Kuberentes,分别代表运行时检查和启动时检查。

利用 Readiness Check 的能力,SOFA 中间件中的各个组件只有在 Readiness Check 通过之后,才将流量引入到应用的实例中,比如 RPC,只有在 Readiness Check 通过之后,才会向服务注册中心注册,后面来自上游应用的流量才会进入


提供模块化开发的能力

基于 Spring 上下文隔离提供模块化开发能力,每个 SOFABoot 模块使用独立的 Spring 上下文,避免不同 SOFABoot 模块间的 BeanId 冲突


增加日志空间隔离的能力

在超大规模微服务运维的场景下,运维能力的平台化是一定要解决的问题,而监控又是其中非常主要的一个点,针对于日志监控这种情况,Spring Boot 并没有提供任何解决方案。大部分的开源组件,具体要打印哪些日志,打印到什么路径,什么文件下面,都是由应用的使用者来决定,这样会导致每一个应用的日志配置都各式各样,每一个应用都需要去监控系统中配置自己应用的日志监控,导致关键的监控的实施成本特别高


中间件框架自动发现应用的日志实现依赖并独立打印日志,避免中间件和应用日志实现绑定,通过 sofa-common-tools 实现


增加类隔离的能力

基于 SOFAArk 框架提供类隔离能力,方便使用者解决各种类冲突问题


为了解决以上的问题,又因为 SOFA 中间件中的各个组件本身就需要集成 Spring Boot,所以蚂蚁集团基于 Spring Boot 开发并开源了 SOFABoot,来解决以上的问题,也方便使用者在 Spring Boot 中方便地去使用 SOFA 中间件。


以上都是官方给出的解释。


那么我们怎样快速搭建一个SOFABoot工程呢?


第一步

创建一个springboot项目



image.png


第二步,替换pom.xml中的以下内容:

image.png

第三步,添加healthcheck和web包

这步非常重要添加之前控制台启动依旧是打印spring


image.png


而且没有健康检查的机制,添加之后我们再看控制台打印

image.png

直到现在,我们的SOFABoot项目就搭建完成了,非常简单,

我们也可以查看当前项目的健康状况:

http://localhost:8087/actuator/readiness


image.png



好了,今天先分享到这里,大家已经快速入门了一波,后面我会继续带大家走入SOFABoot的世界,欢迎大家关注一波!!


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
缓存 JavaScript Cloud Native
阿里云发布 Spring Boot 新脚手架,真香
本文,围绕 spring initializr 框架,以 start.spring.io 为例,全面的给大家介绍如何使用和扩展这个框架,以及背后的运行原理。
48717 1
阿里云发布 Spring Boot 新脚手架,真香
|
6月前
|
负载均衡 监控 安全
SpringCloud框架的入门教程
Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。
103 2
|
7月前
|
Java 数据库连接 BI
Github标星35K+超火的Spring Boot实战项目,附超全教程文档
今天给大家推荐一个Github上面超火的SpringBoot实战电商项目mall,目前在Github上面已经有35k+Star。该项目拥有全套教程,对学习者特别友好。全套教程的获取方式已经放在文末!
|
安全 Java 测试技术
Github标星98k,Alibaba最新发布的Spring Boot项目实战文档!太强了
前言 又到了一年一度的备战秋招的时间,虽然这两年因为经济环境不太好,互联网行业的各大厂都再裁员,但是今年的秋招经济形势正在复苏,我特地拜托阿里的朋友将这份Spring Boot项目实战开发文档分享出来。 本文档涵盖Spring Boot企业级项目开发的各方面知识,重点介绍Maven项目的搭建、Jersey Restful风格、Postman测试接口、Swagger2可视化文档、Lombok优雅编码、Redis缓存、Security安全机制、Web Service服务、WebSocke t通信、性能测试、集成测试、Jeecg Boot快速开发框架、使用Docker进行项目部署、使
|
Dubbo Java 应用服务中间件
超简单,手把手教你搭建Dubbo工程(内附源码)
超简单,手把手教你搭建Dubbo工程(内附源码)
134 0
|
Java Maven Spring
探秘SpringCloud系列《第一篇章:创建Spring Cloud的Maven江湖》
探秘SpringCloud系列《第一篇章:创建Spring Cloud的Maven江湖》
92 0
|
消息中间件 IDE Java
手把手教你搭建SpringCloud项目
IDE开发工具:IntelliJ IDEA 14.0.2 版本管理:Maven 技术栈:SpringCloud 环境:JDK 1.8
1325 0
手把手教你搭建SpringCloud项目
|
前端开发 Java 关系型数据库
[SpringBoot]SpringBoot概述(简介、官网构建、快速启动)
SpringBoot概述 `SpringBoot` 是由Pivotal团队提供的全新框架,其设计目的是用来==简化==Spring应用的==初始搭建==以及==开发过程==。
[SpringBoot]SpringBoot概述(简介、官网构建、快速启动)
|
SQL NoSQL Java
SpringBoot从入门到精通(三十一)Spring Boot项目打包、发布与部署
我们知道Spring Boot使用了内嵌容器,因此它的部署方式也变得非常简单灵活,一方面可以将Spring Boot项目打包成独立的jar或者war包来运行,也可以单独打包成war包部署到Tomcat容器中运行,如果涉及到大规模的部署Jinkins成为最佳选择之一。 接下来,开始介绍Spring Boot项目是如何打包、发布的。
SpringBoot从入门到精通(三十一)Spring Boot项目打包、发布与部署
|
XML 开发框架 安全
Java开发热门框架【SpringBoot】快速入门教程
SpringBoot作为当下Java开发最常用的技术框架,相信你也一定听过很多次了。 那么到底什么是SpringBoot?SpringBoot又有什么用呢?跟着动力节点的视频带你快速入们springboot
261 0