SOFA Weekly|SOFA 聊天室、issue 精选

2023-10-06 · ·

SOFA WEEKLY | 每周精选

图片

筛选每周精华问答,同步开源进展,欢迎留言互动~

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

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

SOFAStack: https://github.com/sofastack

SOFAStack GitHub issue 精选

本周各项目回复 issue 精选 3 条

欢迎大家在 GitHub 提交 issue 与我们互动

1.@MOSN #2347

@huayangchan

我们目前在调研阶段,想用 envoy 做来做流量代理,但是考虑到研发效能,所以想用 MOE 的方案看看。因为涉及到 L4 的流量处理,顺便再确认下,那对于企业内部自定义的 RPC 协议,涉及到四层的流量 filter 操作,基于目前开源版 MOSN 是做不‍到哈?只能基于原生 envoy 的 L4 extension 来做么?

A:这个我们内部的做法就是 MOSN 的 xprotocol 框架支持多协议,然后再用 L4 MOE 嫁接到 envoy 上。收益还是很可观,没有链接的常驻协程。如果直接用 envoy 的 L4 的话,你其实还是需要用 Go 搞一套 proxy 框架出来的。你可以先用纯 MOSN 支持你们的 RPC 协议,然后再用 MOE 移植到 envoy 上。

MOSN」:https://github.com/mosn/mosn/issues/2347

2.@SOFABolt #332

@tongtaodragonfly

在我们的环境中,连接事件日志文件中出现警告消息,如下所示:

未知协议代码:[ProtocolVersion{version=[3]}] 在 ProtocolDecoder 中解码时。] 为什么会报告此警告消息?什么样的情况可能会触发此警告消息?

A:协议版本是应用层网络帧的第一个字节。通常为 1*(对于 BoltV1)*和 2*(对于 BoltV2 协议)*。如果第一个字节是 3,bolt 找不到对应的协议,所以你会看到这个错误。

此问题可能有两个常见原因:

  • 一些未知的客户端向您的端口发送错误的数据包;
  • 解码器没有消耗掉一个数据包中的所有数据,因此存中留下了一些错误的数据。Decoder 下次消费数据时,读取到了错误的数据。

SOFARPC」:https://github.com/sofastack/sofa-registry/issues/332

3.@SOFAArk #741

@jgslvwy

请问下 SOFAArk 子应用支持用 spring-boot-maven-plugin 吗?为什么示例里面子应用还用的 sofa-ark-maven-plugin?

A:子应用使用 sofa-ark-maven-plugin 构建产物是可以热部署到基座的 Jar 包,你要用 spring-boot-maven-plugin 也是可以,子应用本身也是独立的 Spring Boot,只是不能热部署到基座 JVM 上而已。

MOSN」:https://github.com/sofastack/sofa-ark/issues/741

本周推荐阅读

MoE 系列(六)|Envoy Go 扩展之并发安全

Seata Saga 模式快速入门和最佳实践

Go 语言,如何做逆向类型推导?

SOFABoot 4.0 正式发布,多项新特性等你来体验!