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

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显