SOFA Weekly | SOFARegistry 发版以及源码系列合辑、SOFAArk 发版、3/12直播预告

本文主要是介绍SOFA Weekly | SOFARegistry 发版以及源码系列合辑、SOFAArk 发版、3/12直播预告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

SOFAStack: https://github.com/sofastack

  每周读者问答提炼  

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

我们会筛选重点问题通过 

" SOFA WEEKLY " 的形式回复

1、@水木今山 提问:

请问下 SOFAJRaft 能否在日志复制到大多数后就响应客户端?我看 rhea 和 counter 的例子好像都是应用到状态机后才通过 closure 响应客户端。

A:SOFAJRaft 没有限制,可以在自己的 statemachine 里不直接返回客户端再应用, rheakv 不能。举个例子, compareAndSet 操作,需要先读取再设置,最后返回 client,那么怎么能做到不应用状态机就返回呢,对吧?

有道理,但直接返回客户端的逻辑只能在 StateMachine 提供的 onApply 方法里实现吗,因为 onApply 的调用应该会滞后许久吧?

A:onApply 里面实现就可以,onApply 就可以理解为和达成多数派之间没有延迟。

我在文档中有看到 TaskClosure 这么一个接口,在它的 onCommitted 方法里响应客户端会不会更高效?据我所知,raft 仅需写入日志就可保证强一致性,可以异步去 apply,所以在复制日志给大多数后就通过 onCommitted方法响应客户端(尽管还没有任何一个节点 apply 了该日志),这样效率好像会高一点,不知道我对这个接口理解有没有误。

A:可以看看这个方法:com.alipay.sofa.jraft.core.FSMCallerImpl#doCommitted ,里面会在调用状态机之前调用 TaskClosure,想用 TaskClosure 也可以,不过两者没什么延迟区别。

SOFAJRaft:https://github.com/sofastack/sofa-jraft

2、@匿名 提问:

MOSN 支持 Istio 的什么版本?什么时候可以在 Istio 中可用?

A:目前 MOSN 可基于 Istio 1.1.4 跑通 bookinfo example,由于最新版本的 Istio 对 XDS 协议进行了升级以及部分能力增强,MOSN 当前正在适配中,预计 2020 年 10 月份会完整支持高版本 Istio 的 HTTP 系能力;同时我们一直在关注 UDPA 的发展,也在尝试参与到标准的制定中。控制平面方面,我们和社区一直保持紧密沟通与合作,大力发展控制平面,MOSN 也将与控制平面共同前进。

MOSN:https://github.com/mosn/mosn

3、@孙俊 提问:

请问下,全局事务开启后,全局事务锁未释放时,此时又来个操作同一个数据的本地请求,这个请求没有开启全局事务,是可以修改这个数据的呀。

A:全局事务的分支事务结束后,不在全局事务的本地数据请求可修改数据。

那这样,全局事务的其他分支出现异常,分支事务回滚,从undo里读,发现数据已经被修改了,就得人工处理了?

A:是,从业务设计上来说如果使用 AT 模式要把数据修改都交给 AT 来管理来避免这类问题。

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

  剖析 SOFARegistry 系列  

  • 蚂蚁金服服务注册中心数据一致性方案分析 | SOFARegistry 解析

  • 服务注册中心如何实现秒级服务上下线通知 | SOFARegistry 解析

  • 蚂蚁金服服务注册中心 Session 存储策略 | SOFARegistry 解析

  • 蚂蚁金服服务注册中心数据分片和同步方案详解 | SOFARegistry 解析

  • 蚂蚁金服服务注册中心 MetaServer 功能介绍和实现剖析 | SOFARegistry 解析

  • 蚂蚁金服服务注册中心 SOFARegistry 解析 | 服务发现优化之路

  • 海量数据下的注册中心 - SOFARegistry 架构介绍

  SOFA 项目进展  

本周发布详情如下:

1、发布 SOFARegistry v5.4.0 版本,主要变更如下:

i. SessionServer 与 DataServer 通讯性能优化;

ii. jraft 从 1.2.5 更新到 1.2.7.beta1;

iii. 解决 MethodHandle 在某些 jdk 版本存在内存泄露的 bug;

iv. Bug Fix;

详细发布报告:

https://github.com/sofastack/sofa-registry/releases/tag/v5.4.0

2、发布 SOFAArk v1.1.1 版本,主要变更如下:

i. 优化biz 卸载,清理临时文件;

ii. 支持 biz 打包 指定 bizName -D 参数;

详细发布报告:

https://github.com/sofastack/sofa-ark/releases/tag/v1.1.1

  社区直播预告  

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

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

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

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

形式:线上直播

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

本文归档在 sofastack.tech。

????励支持 SOFAStack 的你~

* 点下右下角“在看

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

* 本期互动奖品“SOFAStack 定制 T 恤

这篇关于SOFA Weekly | SOFARegistry 发版以及源码系列合辑、SOFAArk 发版、3/12直播预告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Android实现一键录屏功能(附源码)

《Android实现一键录屏功能(附源码)》在Android5.0及以上版本,系统提供了MediaProjectionAPI,允许应用在用户授权下录制屏幕内容并输出到视频文件,所以本文将基于此实现一个... 目录一、项目介绍二、相关技术与原理三、系统权限与用户授权四、项目架构与流程五、环境配置与依赖六、完整

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步