SOFA Weekly | 3/12直播预告、Seata、SOFARPC、SOFABoot 组件发布

2024-01-17 04:58

本文主要是介绍SOFA Weekly | 3/12直播预告、Seata、SOFARPC、SOFABoot 组件发布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SOFA WEEKLY | 每周精选,筛选每周精华问答

同步开源进展,欢迎留言互动

SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁金服自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。

SOFAStack 官网: https://www.sofastack.tech

SOFAStack: https://github.com/sofastack

  每周读者问答提炼  

欢迎大家向公众号留言提问或在群里与我们互动

我们会筛选重点问题通过 

" SOFA WEEKLY " 的形式回复

1、@朱楠 提问:

请教下,我看文档上说 Seata Saga 的 json 可以热部署,有 demo 吗,没看明白如何热部署。

A:就是用这个回答里的这个方法 registerByResource,Java 代码的热部署可以用 SOFAArk,stateMachineEngine 是一个 bean,可以在代码里注入这个 bean,然后你可以实现一个 web 页面,可以上传 json 文件和 jar 包,调用图片中的方法注册状态机,用 SOFAArk 注册 jar 包。

我在看 registryByResources 这个方法的源码,注册状态机是不是就不需要修改本地的 json 文件了?

A:注册了 json,如果数据库里有名称相同的,它会对比字节码,如果不一样,则创建新版本,一样则不注册,新启动的状态机实例用新版本,已启动的状态机实例用老的。

懂了,你这里说的上传 jar 包是什么意思?

A:因为状态机里定义了要调用服务,这个服务可能是目前在系统里没有引用,所以需要上传 jar。

2、@刘川江 提问:

Seata Saga 模式服务(ServiceTask)之间如何在运行时传递业务参数?如将服务A运行后的生成的业务对象传递到后续的服务中进行处理。

A:用 Output 和 Input 属性:

Input: 调用服务的输入参数列表, 是一个数组, 对应于服务方法的参数列表, $.表示使用表达式从状态机上下文中取参数,表达使用的 SpringEL, 如果是常量直接写值即可;

Ouput: 将服务返回的参数赋值到状态机上下文中, 是一个 map 结构,key 为放入到状态机上文时的 key(状态机上下文也是一个 map),value 中$.是表示 SpringEL 表达式,表示从服务的返回参数中取值,#root 表示服务的整个返回参数。

是否支持根据业务参数中的某些值作为条件判断状态机中的服务(ServiceTask)是否执行?

A: 支持的,可以用 Status 属性来判断 Service 是否执行成功。

Status: 服务执行状态映射,框架定义了三个状态,SU 成功、FA 失败、UN 未知, 我们需要把服务执行的状态映射成这三个状态,帮助框架判断整个事务的一致性,是一个 map 结构,key 是条件表达式,一般是取服务的返回值或抛出的异常进行判断,默认是 SpringEL 表达式判断服务返回参数,带 $Exception{ 开头表示判断异常类型。value 是当这个条件表达式成立时则将服务执行状态映射成这个值。

是否支持状态机中的部分服务开启事务。如状态机配置了服务流程A->B->C,只在服务B和C上开启分布式事务。

A:可以,比如 A 是一个查询类的服务,可以将 A 设置成 IsForUpdate=false,如果这个服务不想记录执行日志,可以设置这个服务为 IsPersist=false。

Seata:https://github.com/seata/seata

3、@SUNBIAO 提问:

请问 SOFA 消费者端可以同时配置多个注册中心嘛?例如一个 web 控制器接入端当作消费者,配置连接多个注册中心,订阅不同注册中心上的生产者服务,但是这个消费者端不同的具体消费者调用不同注册中心的服务,前提是注册中心不能合成一个,现实有多个不同的注册中心。

A:可以的,可以看这个类

com.alipay.sofa.rpc.config.AbstractInterfaceConfig#registry, 是个 list。

SOFARPC:https://github.com/sofastack/sofa-rpc

4、@七美 提问:

SOFATracer 目前落盘的摘要 log 是固定格式的,能否直接以 zipkin 的 json 数据格式落盘?如果可以如何操作?

A:使用自定义 reporter :

https://www.sofastack.tech/projects/sofa-tracer/reporter-custom/ + ZipkinV2SpanAdapter 来实现。

SOFATracer:https://github.com/sofastack/sofa-tracer

  本周推荐阅读  

  • 蚂蚁金服研发框架日志隔离解析 | SOFABoot 框架剖析

  • 蚂蚁金服研发框架总览 | SOFABoot 框架剖析

  SOFA 项目进展  

本周发布详情如下:

1、发布 Seata v1.1.0 版本,主要变更如下:

i. 支持 postgreSQL;

ii. 支持自定义 Saga 恢复策略超时时间;

iii. 支持 Saga 模式跳过成功分支事务的 report;

iv. 支持 httpClient 自动集成;

详情发布报告:

https://seata.io/zh-cn/blog/download.html

2、发布 SOFARPC v5.6.4 版本,主要变更如下:

i. 试验性支持 RPC 可能的多版本发布;

ii. 升级 Dubbo 依赖版本到2.6.7;

iii. 优化 gRPC 支持代码;

iv. 升级 Netty 版本 4.1.44.final,解决安全问题;

v. 修复 Tracer 采样兼容问题;

vi. 修复注册中心虚拟端口的问题;

详细发布报告:

https://github.com/sofastack/sofa-rpc/releases/tag/v5.6.4

3、发布 SOFABoot v3.3.0 版本,主要变更如下:

i. 健康检查页面显示组件的具体绑定类型;

ii. RPC XML 超时配置支持字符串变量;

iii. 修复无法使用 zk 以外注册中心的 bug;

iv. 修复控制台大量输出的 bug;

v. 升级 Spring Boot 依赖版本至 2.1.11.RELEASE;

vi. 升级 RPC 版本至 5.6.4;

vii. 升级 sofa-common-tools 版本至 1.0.21;

详细发布报告:

https://github.com/sofastack/sofa-boot/releases/tag/v3.3.0

4、发布 sofa-common-tools v1.0.21 版本,主要变更如下:

i. 修复类隔离情况下 classloader 加载问题;

详细发布报告:

https://github.com/sofastack/sofa-common-tools/releases/tag/v1.0.21

  社区直播预告  

本期为 SOFAChannel 线上直播第 12 期,将邀请蚂蚁金服分布式事务核心开发仁空分享《蚂蚁金服分布式事务实践解析》。

本期分享将介绍蚂蚁金服内部的分布式事务实践,包括 TCC(Try-Confirm-Cancel) 模式以及 FMT (Framework-Managerment-Transaction,框架管理事务)模式。同时也会与大家分享在面对双十一大促这种世界级的流量洪峰前,我们又是如何应对这个挑战。

主题:SOFAChannel#12:蚂蚁金服分布式事务实践解析

时间:2020年3月12日(周四)19:00-20:00

嘉宾:仁空,蚂蚁金服分布式事务核心开发

形式:线上直播

报名方式:点击“阅读原文”,即可报名

本文归档在 sofastack.tech。

????励支持 SOFAStack 的你~

* 点下右下角“在看

* 到公众号对话框发送“加油”,试试手气~

* 本期互动奖品“SOFAStack Community 卫衣

这篇关于SOFA Weekly | 3/12直播预告、Seata、SOFARPC、SOFABoot 组件发布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/614922

相关文章

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器