SOFABoot&SOFATracer】的更多相关文章

SOFABoot快速开始 SOFABoot介绍 SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等能力.在增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFA 中间件的能力. SOFABoot功能描述 扩展 Spring Boot 健康检查的能力:在 Spring Boot 健康检查能力基础…
一.SOFABoot 是什么鬼? 说到 SOFABoot,不得不先说下 SOFARPC 框架,SOFARPC 也是大名远扬,最早起源于阿里淘宝 HSF 框架,现在是蚂蚁金服开源的一款高性能.高可扩展性.生产级别的 RPC 框架,在蚂蚁金服,SOFARPC 框架已经使用了十多年了,并且已经历经了五代. SOFARPC 开源地址: https://github.com/sofastack/sofa-rpc 栈长当初第一次看到 SOFABoot 这个框架的时候,心里想着,难道是 SOFABoot =…
前言 SOFA-Boot 现阶段支持 XML 的方式在 Spring 中定义 Bean,通过这些标签,我们就能从 Spring 容器中取出 RPC 中的引用,并进行调用,那么他是如何处理这些自定义标签的呢?一起来看看. 如何使用? 官方例子: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans&qu…
本示例参考:https://www.sofastack.tech/sofa-boot/docs/QuickStart 示例采用sofa-boot 3.1.1版本. 如下步骤: 1.进入https://start.spring.io/,生成web项目 一定要勾选下边的web依赖,否则无法启动,因为没有导入tomcat.而sofaboot2.3.1版本不存在这个问题. 生成例子程序: 2.pom.xml 将pom中的 <parent> <groupId>org.springframew…
SOFARPC源码解析系列: 1. 源码分析---SOFARPC可扩展的机制SPI 2. 源码分析---SOFARPC客户端服务引用 3. 源码分析---SOFARPC客户端服务调用 4. 源码分析---SOFARPC服务端暴露 5.源码分析---SOFARPC调用服务 6.源码分析---和dubbo相比SOFARPC是如何实现负载均衡的? 7.源码分析---SOFARPC是如何实现连接管理与心跳? 8.源码分析---从设计模式中看SOFARPC中的EventBus? 9.源码分析---SOFA…
作者:404,公众号404P,转载请注明出处. 前言 SOFABoot是蚂蚁金服的开源框架,在原有Spring Boot的基础上增强了不少能力,例如Readiness Check,类隔离,日志空间隔离等能力.除此之外,SOFABoot还可以方便的整合SOFA技术栈所包含的各类中间件.如果想要对SOFABoot有体感,可以参考这里快速构建一个SOFABoot的应用. 本文来聊聊SOFABoot新增的Readiness健康检查机制.主要内容有以下几点: liveness 和 readiness 的含…
前提 最近创业公司的项目组基于业务需要,开发一套新的微服务,考虑到选用的组件必须是主流.社区活跃.生态完善以及方便迁移到云上等因素,引入了SOFAStack全家桶.微服务开发里面,一个很重要的功能就是服务发现与注册,笔者花了点时间做了一个SOFABoot.SOFARpc结合Nacos实现微服务发现注册与远程调用的示例. 依赖版本踩坑 笔者花了点时间去尝试SOFABoot.SOFARpc结合Nacos客户端的依赖版本关系,截止本文编写完成的时候(2020-01-01),sofaboot-depen…
[业界方案] 用SOFATracer学习分布式追踪系统Opentracing 目录 [业界方案] 用SOFATracer学习分布式追踪系统Opentracing 0x00 摘要 0x01 缘由 & 问题 1.1 选择 1.2 问题 1.3 本文讨论范围 0x02 背景知识 2.1 趋势和挑战 2.2 可观察性(Observability) 2.3 Tracing 2.3.1 Tracing 的诞生 2.3.2 Tracing的功能 2.4 OpenTracing 0x03 OpenTracing…
什么是分布式链路跟踪 简而言之,在分布式系统下,用于跟踪链路而衍生出的一项技术. 应用场景如下: 应用A,B,C,D,E 以一个层级关系依赖, 当用户向 应用A 发起请求,但是返回了个异常,为了排查这个问题,我们可能要一台台服务器去排查.在分布式架构下,每个应用又部署了几十上百台服务器, 那一天下来,可能多没找到问题的触发点. 通过分布式链路跟踪,结合 如 鹰眼 等平台的 链路分析,我们可以很快定位到 问题发生机器地址. 那为什么我们可以很快速定位到哪台机器? TraceId 日志收集,收集异常…
SOFABoot 和 SOFARPC 都是蚂蚁金服开源的 SOFA 技术栈的开源项目,SOFARPC 只是其 SOFA 技术栈体系(SOFAStack)中的一个 RPC 框架. SOFABoot 也是 SOFA 技术栈体系中一个框架,但和 SOFARPC 没有直接关系,SOFABoot 是一个 Spring Boot 加强版,还提供了方便使用 SOFA 中间件的能力,SOFARPC 只是其中之一而已. ===>SOFABoot 在 Spring Boot 上 1)扩展 Spring Boot 的…
选中入口方法名,右键出现run sofa application…
来源:https://segmentfault.com/a/1190000017346799 1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案.此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务. 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring C…
转发自segmentfault  https://segmentfault.com/a/1190000017346799 前端 1.数据驱动的高交互可视化图形语法 AntV - G2 G2 是一套基于可视化编码的图形语法,以数据驱动,具有高度的易用性和扩展性,用户无需关注各种繁琐的实现细节,一条语句即可构建出各种各样的可交互的统计图表. 同时,G2 也是 AntV 最重要的组成,始于<The Grammar of Graphics>一书描述的视觉编码语法系统(这也是 G2 项目命名的由来).…
来源:https://segmentfault.com/a/1190000017346799 1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案.此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务. 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring C…
1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案.此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务. 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统. 地址:ht…
目录 1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba 2. JDBC 连接池.监控组件 Druid 3. Java 的 JSON 处理器 fastjson 4. 服务框架 Dubbo 5. 企业级流式计算引擎 JStorm 6. apns4j 7. 分布式数据层 TDDL 8. 轻量级分布式数据访问层 CobarClient 9. 淘宝定制 JVM:TaobaoJVM 10. Java 图片处理类库 SimpleImage 11. redis 的 java 客户…
1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案.此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务. 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统. 地址:ht…
阿里巴巴的26款Java开源项目 开源展示了人类共同协作,成果分享的魅力.没有任何一家网络公司可以不使用开源技术,仅靠自身技术发展起来.“取之于开源,用之于开源,才能促进开源的良性发展”,阿里巴巴各个团队将踩过的坑和总结的经验融入到开源项目中,供业界所有人使用,帮助他人解决问题的同时,也促进了行业发展. 1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案.此项目包含开发分布式应用…
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:https://mp.weixin.qq.com/s/osB-BOl6W-ZLTSttTkqMPQ 开源展示了人类共同协作,成果分享的魅力.没有任何一家网络公司可以不使用开源技术,仅靠自身技术发展起来.“取之于开源,用之于开源,才能促进开源的良性发展”,阿里巴巴各个团队将踩过的坑和总结的经验融入到开源…
简介 scalable open financial architecture stack , 可扩展开放的金融架构栈: github: https://github.com/sofastack/sofa-boot 快速构建金融级别云原生架构的中间件. 特点: 开放,金融级别,云原生: 微服务体系组件 云原生架构 传统的微服务管理运维变得越来越快,service mesh 和 serverless 可以解决相关问题. 快速开始 部署注册中心 分布式服务治理的核心组件. 检查是否安装成功: # 查…
前言 SOFA-RPC 支持根据权重对服务进行预热功能,具体地址:预热权重. 引用官方文档: 预热权重功能让客户端机器能够根据服务端的相应权重进行流量的分发.该功能也常被用于集群内少数机器的启动场景.利用流量权重功能在短时间内对服务端机器进行预热,然后再接收正常的流量比重. 运行机制如下: 1.服务端服务在启动时会将自身的预热时间,预热期内权重,预热完成后的正常权重推送给服务注册中心.如上图 ServiceB 指向 Service Registry . 2.客户端在引用服务的时候会获得每个服务实…
前言 在 SOFA-RPC 的官方介绍里,介绍了自定义线程池,可以为指定服务设置一个独立的业务线程池,和 SOFARPC 自身的业务线程池是隔离的.多个服务可以共用一个独立的线程池. API使用方式如下: UserThreadPool threadPool = new UserThreadPool(); threadPool.setCorePoolSize(10); threadPool.setMaximumPoolSize(100); threadPool.setKeepAliveTime(2…
前言 最近蚂蚁金服开源了分布式框架 SOFA,楼主写了一个 demo,体验了一下 SOFA 的功能,SOFA 完全兼容 SpringBoot(当然 Dubbo 也是可以兼容的). 项目地址:Alipay,该主页有 5 个项目,都是阿里开源的. sofa-boot, sofa-rpc, sofa-bolt, sofa-ark, sofa-rpc-boot-projects. 快速开始 实际上,SOFA-RPC 的官方文档已经详细介绍了如何使用这个 RPC 框架,基于 Netty 的长连接.类似 D…
文档地址:https://www.sofastack.tech 简介摘要 SOFA 是蚂蚁金服自主研发的金融级分布式中间件,包含构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,是一套分布式架构的完整的解决方案,也是在金融场景里锤炼出来的最佳实践. SOFARPC是蚂蚁金服开源的高可扩展性.高性能.生产级的Java…
  记录地址,慢慢研究...   https://github.com/openzipkin/zipkin   https://github.com/apache/incubator-skywalking   https://github.com/naver/pinpoint https://github.com/jaegertracing/jaeger   https://github.com/opentracing https://github.com/dianping/cat   http…
Zipkin 是一个开放源代码分布式的跟踪系统,由 Twitter 公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集.存储.查找和展现.它的理论模型来自于Google Dapper 论文. 每个微服务向 Zipkin 报告计时数据,Zipkin 会根据调用关系通过 Zipkin UI 生成依赖关系图,显示了多少跟踪请求通过每个服务,该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈. Git…
干货 | 蚂蚁金服是如何实现经典服务化架构往 Service Mesh 方向的演进的? https://www.sohu.com/a/235575064_99940985 干货 | 蚂蚁金服是如何实现经典服务化架构往 Service Mesh 方向的演进的? 2018-06-13 17:29蚂蚁金服/操作系统 蚂蚁金服在服务化上面已经经过多年的沉淀,支撑了每年双十一的高峰峰值.Service Mesh 作为微服务的一个新方向,在最近两年成为领域的一个大热点,但是如何从经典服务化架构往 Servi…
我们在前面分析客户端引用的时候会看到如下这段代码: // 产生开始调用事件 if (EventBus.isEnable(ClientStartInvokeEvent.class)) { EventBus.post(new ClientStartInvokeEvent(request)); } 这里用EventBus调用了一下post方法之后就什么也没做了,就方法名来看是发送了一个post请求,也不知道发给谁,到底有什么用. 所以这一节我们来分析一下EventBus这个类的作用. 首先我们来看一下…
SOFARPC源码解析系列: 1. 源码分析---SOFARPC可扩展的机制SPI 2. 源码分析---SOFARPC客户端服务引用 3. 源码分析---SOFARPC客户端服务调用 4. 源码分析---SOFARPC服务端暴露 5.源码分析---SOFARPC调用服务 6.源码分析---和dubbo相比SOFARPC是如何实现负载均衡的? 7.源码分析---SOFARPC是如何实现连接管理与心跳? 8.源码分析---从设计模式中看SOFARPC中的EventBus? 在第七讲里面7.源码分析-…
先把栗子放上,让大家方便测试用: Service端 public static void main(String[] args) { ServerConfig serverConfig = new ServerConfig() .setProtocol("bolt") // 设置一个协议,默认bolt .setPort(12200) // 设置一个端口,默认12200 .setDaemon(false); // 非守护线程 ProviderConfig<HelloService&…