Categories
程式開發

蘋果開源了JVM網絡框架ServiceTalk:改善Netty底層抽象


蘋果開源了JVM網絡框架ServiceTalk,該框架在Netty之上提供了通用和可擴展的網絡抽象。 ServiceTalk的目的是改善Netty所提供的底層抽象,比如線程池和可用性。 ServiceTalk為常用的協議提供了更高層級、更具針對性的API,這些協議包括HTTP/1.x、HTTP/2.0和gRPC,它還提供了一致的網絡棧和特性集,包括客戶端負載均衡和服務發現集成。

ServiceTalk的設計目標是支持基於反應式流(Reactive Streams)的不同編程範式,包括各種阻塞模式,並且具有強大的工具跨越同步和異步API之間的邊界。這樣的話,就能讓開發人員緩解異步控制流的複雜性,在應用中,目前這並不是必需的。反應式流操作符的原生實現主要聚焦在限制內存使用、橫切性的特性(比如AsyncContext阻塞的默認安全性)以及利用反應式流規範中的規則來優化服務器端用例。

ServiceTalk開源的目標是提供構建塊以便於接收Java社區的貢獻。借助蘋果在Java社區預先建立的關係,他們希望通過ServiceTalk建立一個類似的社區。蘋果告訴InfoQ,在ServiceTalk開源的短時間內,Reactor項目、Micronaut、RxJava、gRPC和Vert.x對它的興趣在不斷增長。

Apple還告訴InfoQ, Java社區在以下方面有很多機會可以為ServiceTalk做出貢獻:與Spring Boot、Micronaut和Reactor集成;對現有和新協議的增強;通過可插拔的ServiceDiscoverer API集成服務發現功能;實現新的反應流操作符;客戶端負載均衡領域正在進行中的工作。

開發人員可以通過研究異步和阻塞環境的HTTPgRPC示例來入門ServiceTalk。

原文鏈接:

Apple Open Sources ServiceTalk to the Java Community