首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏芋道源码1024

    Apache Dubbo 服务框架,不限国内,有哪些替代品?

    ICE 支持多语言,功能丰富,文档一般,重量级:一个全面的RPC框架,支持C ++,C#,Java,JavaScript,Python等 https://zeroc.com/products/ice Finagle Finagle是 Twitter 基于 Netty 开发的支持容错的、协议无关的 RPC 框架,该框架支撑了 Twitter 的核心服务。 Finagle是JVM的可扩展RPC系统,用于构建高并发服务器。Finagle为多个协议实现统一的客户端和服务器API,旨在实现高性能和并发性。 Finagle的大多数代码都是协议无关的,简化了新协议的实现。整个设计跟Dubbo已经比较接近了。 https://www.infoq.cn/article/2014/05/twitter-finagle-intro https://twitter.github.io/finagle/ 新兴的 Apache

    1.8K30发布于 2019-07-16
  • 来自专栏超级架构师

    【服务网格架构】Envoy和类似的系统比较

    Finagle Finagle是Twitter的Scala / JVM服务,用于服务通信库。Twitter和许多其他公司主要使用基于JVM的体系结构。 与Finagle相比,Envoy作为负载平衡器和服务发现软件包提供了以下主要优势: 通过分布式主动健康检查最终一致的服务发现。 proxygen和wangle proxygen是Facebook的高性能C ++ 11 HTTP代理库,写在一个叫做wangle的Finagle之类的C ++库之上。 linkerd linkerd是构建在Netty和Finagle(Scala / JVM)上的独立的开源RPC路由代理。 linkerd提供了许多Finagle的功能,包括延迟感知负载平衡,连接池,断路,重试预算,截止日期,跟踪,细粒度检测以及用于请求级路由的流量路由层。

    1K30发布于 2020-07-20
  • 来自专栏超级架构师

    Envoy和类似的系统比较

    Finagle Finagle是Twitter的Scala / JVM服务,用于服务通信库。 Twitter和许多其他公司主要使用基于JVM的体系结构。 与Finagle相比,Envoy作为负载平衡器和服务发现软件包提供了以下主要优势: 通过分布式主动健康检查最终一致的服务发现。 proxygen和wangle proxygen是Facebook的高性能C ++ 11 HTTP代理库,写在一个叫做wangle的Finagle之类的C ++库之上。 linkerd linkerd是构建在Netty和Finagle(Scala / JVM)上的独立的开源RPC路由代理。 linkerd提供了许多Finagle的功能,包括延迟感知负载平衡,连接池,断路,重试预算,截止日期,跟踪,细粒度检测以及用于请求级路由的流量路由层。

    2.1K60发布于 2018-04-09
  • 来自专栏伪架构师

    (译)Linkerd v2:响应实际生产需求的新一代服务网格

    关键信息 Linkerd 2.0 在一个被广泛接受的服务网格产品的基础上进行了大量改造,原产品使用 Scala 实现,从 Twitter 的 Finagle RPC 系统中受益良多。 Finagle 是 Twitter 进入大规模微服务阶段的重要一步。 Linkerd 1.x 诞生于 2016 年,根植于经过生产考验的 Twitter 技术栈:Finagle、Scala、Nettfy 和 JVM。 我们最初的目标很简单:把 Finagle 的强力语义公诸于世。 其中一个设计失误就是引入了 dtab 这一来自 Finagle 的路由语言作为基础配置原语。

    74710发布于 2019-07-22
  • 来自专栏CNCF

    Linkerd项目

    Linkerd基于Netty和Finagle构建,Finagle是经过生产测试的RPC框架,采用于Twitter、Pinterest、Tumblr、PagerDuty等高流量公司。

    66130发布于 2019-12-04
  • 来自专栏数据星河

    在Scala中构建Web API的4大框架

    Finch ——用于构建Finagle HTTP服务的Scala组合器库        Finch是一个HTTP原语的模块化系统,它协同工作以形成HTTP API。 “Finch是Finagle顶层的一层纯功能基本块,用于构建可组合的HTTP API。它的任务是为开发人员提供简单而强大的HTTP原语,使其尽可能接近裸机Finagle API。” 优点 1.

    3K40发布于 2018-11-15
  • 来自专栏thinkphp+vue

    Service Mesh 是什么,我们为什么需要它?

    在这些系统中,通用通信层突然兴起,表现为“胖客户端”的形式——Twitter 的 Finagle,Netflix 的 Hystrix 和 Google 的 Stubby 都是很典型的例子。 现在看来,像 Finagle 、Stubby 和 Hystrix 这样的库就是最早的 Service Mesh。 虽然它们是为特定环境、语言和框架定制了,但都是作为基础设施专门用于管理服务间的通信,并(在 Finagle 和 Hystrix 开源的情况下)在其他公司的应用中被使用。 就像 Linkerd 是由像 Finagle 这样的系统发展而来,Service Mesh 将作为单独的用户空间代理添加到云原生技术栈中继续发展。

    86600发布于 2021-05-29
  • 来自专栏云原生技术社区

    Service Mesh 是什么,我们为什么需要它?

    在这些系统中,通用通信层突然兴起,表现为“胖客户端”的形式——Twitter 的 Finagle,Netflix 的 Hystrix 和 Google 的 Stubby 都是很典型的例子。 现在看来,像 Finagle 、Stubby 和 Hystrix 这样的库就是最早的 Service Mesh。 虽然它们是为特定环境、语言和框架定制了,但都是作为基础设施专门用于管理服务间的通信,并(在 Finagle 和 Hystrix 开源的情况下)在其他公司的应用中被使用。 就像 Linkerd 是由像 Finagle 这样的系统发展而来,Service Mesh 将作为单独的用户空间代理添加到云原生技术栈中继续发展。

    1.9K20发布于 2019-07-30
  • 来自专栏DevOps时代的专栏

    什么是服务网格(Service Mesh)?为什么需要使用它?

    在这些系统中,广义通信层变得强相关,但通常采用“胖客户端”的形式-Twitter 的 Finagle,Netflix 的 Hysterix 和 Google 的 Stubby 就是这样的例子。 在许多方面,像 Finagle,Stubby 和 Hysterix 这样的库是第一个 ServiceMesh。 虽然它们与具体周围环境的细节相关,并且需要使用特定的语言和框架,但它们是用于管理服务到服务通信的专用基础设施,并且(在开源 Finagle 和 Hysterix 库的情况下)可以在其公司之外使用。 正如 Linkerd 从 Finagle 这样的系统中演进而来,当前的服务形式作为必须明确添加到云原生堆栈中的单独的用户空间代理,也将继续发展。 结论 ServiceMesh 是云原生堆栈的关键组件。

    2.7K60发布于 2018-02-02
  • 来自专栏EAWorld

    Service Mesh解读:新一代微服务技术新秀

    在这些系统中,广义的通讯层突然变得相关起来, 但通常以“胖客户端”的库集(library)形式出现, 比如twitter的Finagle,Netflix的Hystrix,以及Google的Stubby就是这样的例子 从很多方面上来讲,像Finagle, Stubby和Hystrix这些库集其实是Service mesh的雏形。 虽然它们受其周围环境的细节影响,并且需要使用特定的语言和框架,但是它们是用于管理服务到服务间通信的专用基础设施,并且(在开源Finagle和 Hystrix库集的情形下)可以在其公司之外使用。 正如Linkerd从Finagle这样的系统演化而来,Service mesh的当前化身是一个独立的用户空间代理,必须明确地添加到云堆栈中,并且将继续发展。

    1K60发布于 2018-03-30
  • 来自专栏斑斓

    编码修炼 | 快速了解Scala技术栈

    Finagle的血统高贵,来自过去的寒门,现在的高门大族Twitter。 Finagle就是其中之一。它是一个扩展的RPC系统,以支持高并发服务器的搭建。我并没有真正在项目中使用过Finagle,大家可以到它的官方网站获得更多消息。 Twitter实现的Finagle是针对RPC通信,Akka则提供了内部的消息队列(MailBox),而由LinkedIn主持开发的Kafka则提供了支持高吞吐量的分布式消息队列中间件。

    2.4K60发布于 2018-03-07
  • 来自专栏CNCF

    如何管理一个成功的CNCF项目(如Linkerd)

    我们和 William 聊了聊这件事是怎么发生的,他分享了他在推特工作时的故事,这个前身 Finagle 是怎么产生的。 Finagle 是这一转变中的其中一项技术,一旦他离开公司,它便慢慢转变为 Linkerd 的第一个版本——利用代理和容器来创建一个非常强大的工具,保持传统,以非常独特的方式解决常见问题。

    60030发布于 2021-04-21
  • 来自专栏Loki

    语言类算法服务负载均衡初探

    另外两种算法在实践中较少见,但在Twitter的客户端RPC库Finagle中,都有经过生产测试的实现。 请注意,对负载均衡策略的选择应根据您的具体业务需求和系统特性进行。 我们使用基于Finagle编写的基础RPC客户端进行这些实验。 结果 实验结果如上图所示。y轴表示延迟,x轴(对数刻度)表示超过该延迟的延迟分布中的百分位数。 因为Finagle在OSI模型的第5层(“会话”层)上操作,它可以获取到队列深度和RPC延迟等信息。

    54120编辑于 2023-08-28
  • 来自专栏技术换美食换不换

    grpc-learn

    RPC: 提供统一的服务调用方式 类似调用本地函数 编译期参数类型检查 屏蔽协议编码和网络通信 面向服务化编程 基本框架: Thrift(facebook)/Avro(hadoop)/Finagle(twitter

    91020发布于 2018-08-28
  • 来自专栏蓝天

    Skywalking 组件类型

    spring-tx 79 Armeria 80 JdkThreading 81 KotlinCoroutine 82 AvroServer 83 AvroClient 84 Undertow 85 Finagle

    1.6K30发布于 2020-11-19
  • 来自专栏全栈程序员必看

    服务治理

    其中的套件开放使用 Tars 腾讯 是 中 已作为腾讯云应用框架对外提供使用 JSF 京东 否 少 Linkerd CNCF 是 少 原型是Twitter所构建的一个基于scala的可扩展RPC系统Finagle

    1.2K30编辑于 2022-08-04
  • 来自专栏人工智能头条

    吴磊:友盟移动大数据平台的架构与实践

    结合友盟的业务架构和Lambda架构思想,最终的系统如下图所示:最左边是数据采集层,友盟提供手机、平板、盒子的SDK给App集成,App通过SDK发送日志到友盟平台;首先进入到Nginx,负载均衡之后传给基于finagle 接下来,我们就切换到基于Finagle Server的日志服务器。这个Finagle Server是Twitter开源出来的一个异步服务器框架,很适合移动互联网的访问特点:高并发、小数据量。 切换到Finagle Server之后,单台服务器的处理能力得到了极大的提升。同时日志收集服务的无状态特性可以支持横向扩展,所以当面临非常高压力的时候可以简单地通过增加临时服务器来解决。

    1.1K30发布于 2018-06-05
  • 来自专栏技术那些事

    Istio 实践手册 |服务网格框架对比

    Linkerd 使用Scala 语言编写,运行于 JVM,底层于 Twitter 的 Finagle 库,并对其做了相应的扩展。 目前,Linkerd和Linkerd2并行开发,其情况如下: Linkerd:Linkerd使用Scala语言编写,运行于JVM,底层基于 Twitter 的Finagle库,并对其做了相应的扩展。 5、对比总结 下面对上述各种 Service Mesh 框架进行简单的比较汇总,见下表所示: 功能 Linkerd Envoy Istio Conduit 代理 Finagle + Jetty Envoy

    1.7K21编辑于 2021-11-28
  • 来自专栏CodeSheep的技术分享

    RPC框架实践之:Apache_Thrift

    常见的RPC框架包括:Thrift、gRPC、Finagle、Dubbo等等,从本文开始作者将选一些实践一下,本文主要记录作者对于Thrift框架的实践过程。 ? 常见的RPC框架包括:Thrift、gRPC、Finagle、Dubbo等等,从本文开始作者将选一些实践一下,本文主要记录作者对于Thrift框架的实践过程。

    1.3K80发布于 2018-05-22
  • 来自专栏Rust语言学习交流

    【Rust日报】 2019-10-27 為什麼async函數很難寫?

    像這樣 fn finagle_database<D: Database>(d: &D) where for<'s> D::GetUser<'s>: Send, { ...

    74240发布于 2019-10-31
领券