Hekate Kryo Codec

Java library for cluster communications and computing.

Лицензия

Лицензия

Категории

Категории

Kryo Данные Data Formats Serialization
Группа

Группа

io.hekate
Идентификатор

Идентификатор

hekate-codec-kryo
Последняя версия

Последняя версия

4.0.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

Hekate Kryo Codec
Java library for cluster communications and computing.
Ссылка на сайт

Ссылка на сайт

https://github.com/hekate-io/hekate
Организация-разработчик

Организация-разработчик

The Hekate Project
Система контроля версий

Система контроля версий

https://github.com/hekate-io/hekate

Скачать hekate-codec-kryo

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/io.hekate/hekate-codec-kryo/ -->
<dependency>
    <groupId>io.hekate</groupId>
    <artifactId>hekate-codec-kryo</artifactId>
    <version>4.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/io.hekate/hekate-codec-kryo/
implementation 'io.hekate:hekate-codec-kryo:4.0.0'
// https://jarcasting.com/artifacts/io.hekate/hekate-codec-kryo/
implementation ("io.hekate:hekate-codec-kryo:4.0.0")
'io.hekate:hekate-codec-kryo:jar:4.0.0'
<dependency org="io.hekate" name="hekate-codec-kryo" rev="4.0.0">
  <artifact name="hekate-codec-kryo" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.hekate', module='hekate-codec-kryo', version='4.0.0')
)
libraryDependencies += "io.hekate" % "hekate-codec-kryo" % "4.0.0"
[io.hekate/hekate-codec-kryo "4.0.0"]

Зависимости

compile (3)

Идентификатор библиотеки Тип Версия
io.hekate : hekate-core jar 4.0.0
com.esotericsoftware : kryo-shaded jar 4.0.2
de.javakaffee : kryo-serializers jar 0.43

Модули Проекта

Данный проект не имеет модулей.

Hekate.io

Java Library for Distributed Services

build codecov Maven Central Javadocs

License

Open source Apache License v2.0

Features

  • Distributed Service Discovery

    • Decentralized Service Discovery (based on performance-optimized Gossip protocol)
    • Easy integration into existing infrastructure
    • User-defined Service Properties and Roles
    • Cluster Event Listeners
    • Service Topology Views and Filtering APIs
    • Health Monitoring and Split-brain Detection
  • Messaging

    • Synchronous and Asynchronous Messaging (backed by Netty)
    • Cluster-aware Load Balancing and Routing
    • SSL/TLS Encryption of Network Communications (optional)
    • Back Pressure Policies
    • Error Retry Policies
    • Pluggable Serialization
  • Remote Procedure Calls (RPC)

    • Type-safe Invocation of Remote Java Services
    • Automatic Discovery and Load Balancing
    • Synchronous and Asynchronous APIs
    • Multi-node Broadcasting and Aggregation of Results
    • Back Pressure Policies
    • Error Retry Policies
    • ...and everything from the "Messaging" section above:)
  • Cluster-wide Singleton Service (aka Leader Election )

    • Decentralized Leader Election
    • Followers are Aware of the Current Leader
    • Leader can Dynamically Yield Leadership
  • Distributed Locks

    • Synchronous and Asynchronous Reentrant Locks
    • Decentralized Lock Management
    • Configurable Lock Groups (aka Lock Regions)
  • Spring Boot/Framework Support (optional)

  • Metrics

  • Raft-based Replicated State Machines (planned)

Documentation

Code Examples

Quickstart for Standalone Java Application

public class MyApplication{
    public static void main(String[] args) throws Exception {
        Hekate hekate = new HekateBootstrap()
            .withNamespace("my-cluster")
            .withNodeName("my-node")
            .join();
        
        System.out.println("Cluster topology: " + hekate.cluster().topology());
    }
}

Quickstart for Spring Boot Application

@EnableHekate // <-- Enable Hekate integration.
@SpringBootApplication
public class MyApplication {
    @Autowired
    private Hekate hekate;

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
    
    @PostConstruct
    public void start(){
        System.out.println("Cluster topology: " + hekate.cluster().topology());
    }
}

More Examples:

Please see the hekate-io/hekate-examples project for more examples.

Maven artifacts

  • For projects based on Spring Boot:
<dependency>
    <groupId>io.hekate</groupId>
    <artifactId>hekate-spring-boot</artifactId>
    <version>4.0.0</version>
</dependency>
  • For projects based on Spring Framework:
<dependency>
    <groupId>io.hekate</groupId>
    <artifactId>hekate-spring</artifactId>
    <version>4.0.0</version>
</dependency>
  • For standalone applications:
<dependency>
    <groupId>io.hekate</groupId>
    <artifactId>hekate-core</artifactId>
    <version>4.0.0</version>
</dependency>

How to build

Software requirements:

  • Latest stable Java SDK (8+)
  • Latest stable Docker (required for tests only)

Build (no tests):

  • cd to the project's root folder
  • run ./mvnw clean package -DskipTests=true

Build (with tests):

  • cd to the project's root folder
  • make a copy of test.properties file with name my_test.properties
  • edit my_test.properties according to your environment
  • run docker-compose up -d to prepare Docker-based testing infrastructure
  • run ./mvnw clean package

Release History

io.hekate

hekate.io

Версии библиотеки

Версия
4.0.0
3.11.0
3.10.0
3.9.0
3.8.0
3.7.0
3.6.0
3.5.0
3.4.1
3.4.0
3.3.0
3.2.0
3.1.0
3.0.0
2.6.0
2.5.0
1.0.2
1.0.1
1.0.0