最近超火的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日志并进行多维度分析。
相关文章
|
7月前
【十九】搭建SpringCloud项目三(Feign)
【十九】搭建SpringCloud项目三(Feign)
57 0
|
7月前
|
Java 微服务 Spring
SpringCloud学习(2):集成Euraka
SpringCloud学习(2):集成Euraka
58 0
|
7月前
|
Dubbo Java 应用服务中间件
SpringCloud - 简单入门与项目概览
SpringCloud - 简单入门与项目概览
74 0
|
7月前
|
NoSQL Java 微服务
这款Alibaba SpringCloud微服务项目真香!Github标星35K+
近年来随着互联网的飞速发展,各行各业都在拥 互联网。互联网给人类生活带来了翻天覆地的变化,人们在享受互联网给生活带来便捷的同时,业务需求的发展也对互联网技术提出了更高的要求,传统的单体架构对越来越复杂的业务需求显得力不从 此外,随着大数据云计算和人工智能的飞速发展,软件的架构显得越来越重要。近几年来,“微服务”这名词在各大网站、论坛、演讲中出现的频率足以让人们感觉到它对软件架构带来的影响 。目前,各大公司都在纷纷采用微服务架构。
|
SpringCloudAlibaba Dubbo 网络协议
十二.SpringCloudAlibaba极简入门-集成dubbo
在之前 《什么是 Spring Cloud Alibaba》一文中我们有介绍过Dubbo,除了SpringCloud以外,Dubbo它也是用来作为微服务架构落地的成熟解决方案,并且它在服务通信上比SpringCloud性能更高,这取决于它的底层实现是基于原生的TCP协议,它的定位就是一款高性能的RPC(远程过程调用)框架,所以在国内很多的企业都选择Dubbo作为微服务框架,本文章的目的是帮助同学们将Dubbo这款高性能的RPC框架集成到SpringCloud中,真正实现SpringCloud 和 Dubbo的混用。
|
SpringCloudAlibaba Java 微服务
Alibaba官方上线!SpringBoot+SpringCloud全彩指南(第五版)
Alibaba作为国内一线互联网大厂,其中springcloudAlibaba更是阿里微服务最具代表性的技术之一,很多人只知道springcloudAlibaba其实面向微服务技术基本上都有的下面就给大家推荐一份Alibaba官网最新版:SpringBoot+SpringCloud微服务全栈开发小册
195 0
|
负载均衡 监控 微服务
手把手教你搭建SpringCloud项目(九)集成OpenFeign服务接口调用
手把手教你搭建SpringCloud项目(九)集成OpenFeign服务接口调用
288 0
|
Java Maven Spring
探秘SpringCloud系列《第一篇章:创建Spring Cloud的Maven江湖》
探秘SpringCloud系列《第一篇章:创建Spring Cloud的Maven江湖》
87 0
|
消息中间件 前端开发 Java
【Spring Cloud】新闻头条微服务项目:环境搭建及框架准备
主要介绍基于Spring Cloud的文章类微服务项目的功能描述及开发前需要的环境、框架搭建过程。
441 0
【Spring Cloud】新闻头条微服务项目:环境搭建及框架准备
|
Java Maven Spring
SpringBoot多环境适配之道
本文是应用配置中心的第三篇,第一篇介绍了配置演化之路,第二篇介绍了在传统项目中以Maven作为多环境支持的方式。这篇将以SpringBoot为例,重点阐述在SpringBoot中如何适配多环境。
188 0
SpringBoot多环境适配之道