All Projects → Knotx → Knotx

Knotx / Knotx

Licence: apache-2.0
Knot.x is a highly-efficient and scalable integration framework designed to build backend APIs

Projects that are alternatives of or similar to Knotx

Vertx Guide For Java Devs
Vert.x 3 guide for Java developers
Stars: ✭ 500 (+320.17%)
Mutual labels:  rxjava, reactive, vertx
Vertx Mqtt
Vert.x MQTT
Stars: ✭ 117 (-1.68%)
Mutual labels:  rxjava, reactive, vertx
Vertx Web
HTTP web applications for Vert.x
Stars: ✭ 853 (+616.81%)
Mutual labels:  reactive, vertx
Rxjava2 Operators Magician
你用不惯 RxJava,只因缺了这把钥匙 🔑 You are not used to RxJava, just because of the lack of this key.
Stars: ✭ 868 (+629.41%)
Mutual labels:  rxjava, reactive
Sample Vertx Microservices
Two applications in different branches illustrates how to create asynchronous microservices with Vert.x, Consul and MongoDB, and how to secure them with Vert.x OAuth2 module and Keycloak
Stars: ✭ 37 (-68.91%)
Mutual labels:  microservices, vertx
Vertx Sql Client
High performance reactive SQL Client written in Java
Stars: ✭ 690 (+479.83%)
Mutual labels:  reactive, vertx
Rxjavafiberinterop
Library for interoperation between RxJava 3 and Project Loom's Fibers.
Stars: ✭ 19 (-84.03%)
Mutual labels:  rxjava, reactive
Jdonframework
Domain-Driven-Design Pub/Sub Domain-Events framework
Stars: ✭ 978 (+721.85%)
Mutual labels:  microservices, reactive
Kvision
Object oriented web framework for Kotlin/JS
Stars: ✭ 658 (+452.94%)
Mutual labels:  reactive, vertx
Gravitee Gateway
Gravitee.io - API Management - OpenSource API Gateway
Stars: ✭ 1,123 (+843.7%)
Mutual labels:  microservices, vertx
Rxplaces
A Google Maps Webservice API made simple.
Stars: ✭ 56 (-52.94%)
Mutual labels:  rxjava, reactive
Android Okgraphql
Reactive GraphQl client for Android
Stars: ✭ 64 (-46.22%)
Mutual labels:  rxjava, reactive
Vertx Blueprint Microservice
Vert.x Blueprint Project - Micro-Shop microservice application
Stars: ✭ 663 (+457.14%)
Mutual labels:  microservices, vertx
Rxreactor
A Kotlin framework for a reactive and unidirectional RxJava application architecture
Stars: ✭ 19 (-84.03%)
Mutual labels:  rxjava, reactive
Spring Cloud Stream
Framework for building Event-Driven Microservices
Stars: ✭ 662 (+456.3%)
Mutual labels:  microservices, reactive
Rxjava Android Samples
Learning RxJava for Android by example
Stars: ✭ 7,520 (+6219.33%)
Mutual labels:  rxjava, reactive
Rxbus
Android reactive event bus that simplifies communication between Presenters, Activities, Fragments, Threads, Services, etc.
Stars: ✭ 79 (-33.61%)
Mutual labels:  rxjava, reactive
Rxfirebase
Rxjava 2.0 wrapper on Google's Android Firebase library.
Stars: ✭ 509 (+327.73%)
Mutual labels:  rxjava, reactive
Servicetalk
A networking framework that evolves with your application
Stars: ✭ 656 (+451.26%)
Mutual labels:  microservices, reactive
Aws Sdk
Using vertx-client for AWS SDK v2
Stars: ✭ 38 (-68.07%)
Mutual labels:  reactive, vertx

If you are directed here from https://github.com/Cognifide/knotx or you are looking for Knot.x 1.X version please see this repository Tags, the latest 1.6.0 version code is available here along with the documentation.

Knot.x Logo

http://knotx.io

web integration framework

Knot.x is an open source framework integrating content from different sources like headless or traditional CMS, with systems like CRM, e-commerce or search engines.

The heart of Knot.x is the HTTP Server that uses Fragment Processing to connect many data sources into one customer experience (like HTML, JSON or PDF) in the configurable, reactive, scalable and fault-tolerant way.

Knot.x comes also with a distribution that enables quick start with the framework, is a project structure and supports deployment automation (see the Cookbook and Docker images). With the Starter Kit template project, you can setup your project in a few minutes.

We build Knot.x on top of Vert.x, known as one of the leading toolkits for performant, event-driven applications. It uses asynchronous programming principles which allows it to process a large number of requests using a single thread. Asynchronous programming is a style promoting the ability to write non-blocking code (no thread pools). The platform stays responsive under heavy and varying load and is designed to follow Reactive Manifesto principles.

How to start

See knotx.io for tutorials and examples. See Knot.x Example Project for usage case examples. See Knot.x Starter Kit template project. See https://github.com/Knotx extensions for user and developer documentation.

For more information on Knot.x and where Knot.x fits into the big picture please see http://knotx.io.

Community / Issues

All feature requests and bugs can be filed as issues on GitHub. Do not use Github issues to ask questions, post them on the User Group or Gitter Chat.

GitHub issues labels

Knot.x project have couple of custom labels for issues board (also issues for each repository) to make it easier manage the tickets. Some of them are:

  • configuration - tickets that have impact on Knot.x configuration and deployment.
  • discussion - this is an open discussion over a feature (that e.g. may break compatiblity) - everyone is welcome to participate with comments and ideas.
  • performance - tickets that have impact on system performance, e.g. some improvement.
  • wiki - stuff with documentation e.g. missing documentation or wiki structure update.

Backlog and Releasing

Release Semantic Versioning

Knot.x releases follow Semantic Versioning 2.0.0 guide. Each release has a version number MAJOR.MINOR.PATCH. Those numbers are incremented when:

  • MAJOR version when Knot.x introduce incompatible API changes or major architecture refactoring,
  • MINOR version when Knot.x introduces new complex functionality in a backwards-compatible manner, MINOR dependencies updates (e.g. Vert.x or RxJava), and
  • PATCH version when Knot.x introduces backwards-compatible bug fixes, small improvements or PATCH dependencies updates (e.g. Vert.x or RxJava).

Changes tracking

Knot.x provides two sources of tracking the changes:

  • CHANGELOG.md for each repository, where all notable changes for the module are documented with links to the tickets and detailed description.
  • Upgrade Notes section in the release blog, where all crucial changes that concerns users during the migration (e.g. additional parameters, bugfix and workarounds, API/configuration changes, dependency upgrades like Vert.x or RxJava) are pointed out.

When to migrate

  • MAJOR - new project start or planned migration - migration may require a significant effort.
  • MINOR - if you need some improvements that are in this release, planned migration - migration may require a minor effort.
  • PATCH - as often as possible, no compatibility break, only bugfixes or very small improvements that does not change any system logic - migration should not take any effort.

Bugfixes support and releasing

Knot.x as an Open Source project supports the last MINOR release with bugfixes released regularly as PATCH releases, until the next MINOR or MAJOR release.

Work in progress and milestones

Knot.x roadmap is build of milestones. All MAJOR or MINOR improvements are developed on feature branches that are reviewed and merged to the current milestone/goal-of-milestone branch which is frequently updated with master branch (that contains bugfixes and small improvements that are subject of PATCH releases).

When all milestone goals are finished, MAJOR or MINOR release is announced, milestone branch is merged to master branch and new Knot.x version is released.

We treat master branch as a stable branch that is always ready to release.

Clear milestones, progress and branching

We are working on the next major/minor versions using milestone goals. You may always see the current milestone goal in Knot.x Roadmap board in the Current milestone column. This board contains:

  • Backlog that contains all areas that require some investigation and are candidates for the future milestones.
  • Next milestone - all candidates for the next milestone.
  • Current milestone - tickets representing the goal of the milestone we are currently working at. When all milestone goals are finished, we release the next version of Knot.x.

License

Knot.x is licensed under the Apache License, Version 2.0 (the "License")

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].