bastion-rs / artillery

Fire-forged cluster management & Distributed data protocol
https://artillery.bastion-rs.com
Apache License 2.0
74 stars 10 forks source link

Update bastion-executor requirement from 0.3.5 to 0.4.0 #33

Closed dependabot-preview[bot] closed 3 years ago

dependabot-preview[bot] commented 4 years ago

Updates the requirements on bastion-executor to permit the latest version.

Release notes

Sourced from bastion-executor's releases.

Bastion v0.4.0

Getting Started | Examples | API documentation

What is new?

This release is coming with exciting features:

  • Agnostik executor runtime
    • With Agnostik, Bastion can run on any runtime. Head over to the agnostik project for more information.
  • Nuclei , an agnostic proactive IO system
    • With nuclei and agnostik, IO and executors are separated.
    • You can mix and match any executor with agnostik and use the same IO system.
    • Nuclei is based on Proactive IO.
    • Nuclei supports io_uring and works well with completion based evented IO. Windows support is currently in the works.
    • Completely async, can be independently used from Bastion.
      • It will power Bastion’s IO system and ecosystem.
  • Autoscaling feature for actors
    • Right now with the scaling feature enabled, you can create actor groups in Bastion that will adapt to incoming workload according to given resizer parameters.
    • Example construction is like:
    children
        .with_redundancy(3) // Start with 3 actors
        .with_heartbeat_tick(Duration::from_secs(5)) // Do heartbeat each 5 seconds
        .with_resizer(
            OptimalSizeExploringResizer::default()
                .with_lower_bound(1) // A minimal acceptable size of group
                .with_upper_bound(UpperBound::Limit(10)) // Max 10 actors in runtime
                .with_upscale_strategy(UpscaleStrategy::MailboxSizeThreshold(3)) // Scale up when a half of actors have more than 3 messages
                .with_upscale_rate(0.1) // Increase the size of group on 10%, if necessary to scale up
                .with_downscale_rate(0.2), // Decrease the size of group on 20%, if there are too many idle actors
        )
  • Cluster/distributed actors
  • Named child in children groups
    • Right now you can get the names of the child in children groups. You can use that for logging or anything that comes to mind.
    • With this enabled everything is user readable content addressable in Bastion runtime.
  • Heartbeat for children
    • Now runtime continuously watches children with heartbeat to check their status and do sampling over their internals.
    • This feature doesn’t require any feature flags.
    • Used in scaling example as seen above:
    children
        .with_heartbeat_tick(Duration::from_secs(5)) // Do heartbeat each 5 seconds
Changelog

Sourced from bastion-executor's changelog.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Generated by auto-changelog.

v0.3.4 - 2020-01-29

Merged

Commits
  • a792ad8 Bump towards 0.4.0
  • 2b6c4b5 Make a move
  • 1bcf602 Some readme rewording
  • ba909f6 Reword readme
  • 455c361 (cargo-release) start next development iteration 0.3.7-alpha.0
  • cec6d83 (cargo-release) version 0.3.6
  • 9ab79e2 Don't building examples automatically
  • 72e9feb (cargo-release) start next development iteration 0.3.6-alpha.0
  • 4415dff readme not read
  • 26c3693 (cargo-release) version 0.3.5
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
dependabot-preview[bot] commented 3 years ago

Superseded by #41.