Skip to content

A networking framework that evolves with your application

License

Notifications You must be signed in to change notification settings

thomdev/servicetalk

This branch is 520 commits behind apple/servicetalk:main.

Folders and files

NameName
Last commit message
Last commit date
Jul 24, 2023
Jun 22, 2022
Jun 18, 2020
Jul 18, 2023
Jul 18, 2023
Jan 24, 2023
May 17, 2022
Feb 28, 2023
Aug 4, 2022
Dec 2, 2022
Oct 13, 2022
Dec 1, 2022
Jul 12, 2023
Jan 12, 2023
May 27, 2022
Jul 14, 2023
Jul 12, 2023
Aug 5, 2022
Jul 6, 2023
Oct 18, 2022
May 27, 2022
Dec 12, 2022
Jul 12, 2023
Dec 3, 2022
Jul 21, 2023
Jul 21, 2023
Mar 13, 2023
Jul 11, 2023
May 17, 2022
Jun 17, 2022
Sep 30, 2022
Jul 21, 2023
Jul 25, 2023
Jul 12, 2023
Jul 21, 2023
May 17, 2022
Jul 21, 2023
Jul 21, 2023
Jul 21, 2023
Jul 6, 2023
Jul 12, 2023
Jul 12, 2023
May 17, 2022
Jul 12, 2023
May 12, 2023
Jul 12, 2023
Jul 6, 2023
Jul 22, 2023
May 27, 2022
May 17, 2022
Jul 21, 2021
May 17, 2022
May 17, 2022
May 17, 2022
Mar 13, 2023
Jul 25, 2023
May 24, 2022
Jul 5, 2022
May 27, 2022
May 27, 2022
Jun 1, 2022
May 27, 2022
May 27, 2022
May 17, 2022
May 17, 2022
May 27, 2022
May 17, 2022
May 27, 2022
Jun 22, 2023
Feb 8, 2023
Jul 13, 2023
Jul 1, 2023
Jun 29, 2023
Mar 23, 2023
May 22, 2019
Jun 1, 2022
Oct 14, 2019
Mar 25, 2022
Apr 27, 2021
Aug 6, 2018
Oct 26, 2021
Oct 27, 2021
Aug 5, 2022
Jul 27, 2023
May 6, 2023
Dec 2, 2022
Nov 21, 2022

Repository files navigation

ServiceTalk

Maven Central Snapshot Publisher Sonatype Snapshot

ServiceTalk is a JVM network application framework with APIs tailored to specific protocols (e.g. HTTP/1.x, HTTP/2.x, etc…​) and supports multiple programming paradigms.

It is built on Netty and is designed to provide most of the performance/scalability benefits of Netty for common networking protocols used in service to service communication. ServiceTalk provides server support and "smart client" like features such as client-side load balancing and service discovery integration.

See the ServiceTalk docs for more information.

Getting Started

ServiceTalk releases are available on Maven Central.

Refer to the ServiceTalk docs for various examples that will get you started with the different features of ServiceTalk.

Note
Builds of the development version are available in Sonatype’s snapshots Maven repository.

Supported JVM

The minimum supported JDK version is 1.8.

Compatibility

ServiceTalk follows SemVer 2.0.0. API/ABI breaking changes will require package renaming for that module to avoid runtime classpath conflicts.

Note
0.x.y releases are not stable and are permitted to break API/ABI.

Contributor Setup

Important
If you’re intending to contribute to ServiceTalk, make sure to first read the contribution guidelines.

ServiceTalk uses Gradle as its build tool and only requires JDK 8 or higher to be pre-installed. ServiceTalk ships with the Gradle Wrapper, which means that there is no need to install Gradle on your machine beforehand.

File Encoding

ServiceTalk’s source code is UTF-8 encoded: make sure your filesystem supports it before attempting to build the project. Setting the JAVA_TOOL_OPTIONS env var to -Dfile.encoding=UTF-8 should help building the project in non-UTF-8 environments. Editors and IDEs must also support UTF-8 in order to successfully edit ServiceTalk’s source code.

Build Commands

You should be able to run the following command to build ServiceTalk and verify that all tests and code quality checks pass:

$ ./gradlew build

The supported IDE is IntelliJ IDEA. In order to generate IntelliJ IDEA project files for ServiceTalk, you can run the following command:

$ ./gradlew idea

When done, running one of following commands would open ServiceTalk in IntelliJ:

Generic
$ idea .
macOS
$ open servicetalk.ipr

Project Communication

We encourage your participation asking questions and helping improve the ServiceTalk project. Github issues and pull requests are the primary mechanisms of participation and communication for ServiceTalk.

About

A networking framework that evolves with your application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.6%
  • Other 0.4%