• shuttle.esb


    http://shuttle.codeplex.com/

    Why a service bus?

    If you need to have a task performed you send a command message:
    • A command message goes to only one endpoint that processes the message by interacting with your domain.
    • If you need to have the command message performed from outside your application space such as from another application or across the Internet from a thrid-party then expose some integration layer that sends the message on your side.

    When something interesting happens in your domain / application that another system may be interested in thepublish an event message:
    • There may be anything from no subscribers to N subscribers.

    You get queued messages so that your system is not overwhelmed by a sudden burst of messages.

    You also get automatic retries should the processing of a message fail.

    Once you start using a service bus you will wonder why you ever worked without one.

    Project Description

    This project aims to provide a free open-source enterprise service bus.

    You can also visit our wiki: http://www.servicebus.co.za

    Some quick information:
    • C#
    • Core has no dependancies on third-party components
    • Supports msmq (production-ready) and sql server table-based queues (not for production) out-of-the-box
    • Supports command and event message (publish/subscribe)
    • You can download Shuttle from CodePlex or install using NuGet (excludes the management shell)
    nuget_shuttle.jpg

    Windows management environment

    A plug-in based architecture used to manage various components within the service bus deployment.

    Messages

    Shuttle-Management-Messages.png

    View messages in queues and delete or move them to another queue. For instance, messages in an error queue can be returned to their source queue.

    All data in the message is displayed in a hierarchical manner so that a message may be investigated and, for example, failure messages viewed.

    Subscriptions

    Add or remove subscriptions. This entails having event message types sent to a particular inbox work queue.

    Shuttle-Management-Subscriptions.png

    Subscription requests

    Accept or decline subscription requests. When using the secure subscription manager all automatic subscriptions are registered as requests.

    Shuttle-Management-SubscriptionRequests.png

    Scheduling

    You can set up scheduled messages. These are then sent to the configured endpoint at times satisfied by a CRON expression. Since you already have handlers defined that responds to a messages you simply add a handler for the ScheduleDueMessage message and send your actual message to the local uri. For instance, you may have a handler for your SendNotificationsCommand but you require notifications to be processed twice a day. The scheduler service will then send a ScheduleDueMessage to the same endpoint uri handling the SendNotificationsCommand message but simply does a SendLocal(new*SendNotificationsCommand()).

    So you get enterprise scheduling for free straight off the bat:

    Shuttle-Management-Schedules.png

    Pipeline-based processing

    Shuttle makes use of event-based pipelines for:
    • Sending messages
    • Receiving / handling messages
    • Outbox processing
    • Distributor processing
    • Service bus startup

    You can even add your own event anywhere in the pipeline. Various observers handle these events so you can add an observer to any event:

    Observable-Pipeline.png

    Summary

    With the involvement of the developer community we can make this software a success.

    PLEASE NOTE
    To get you going have a look at the readme.txt in the root folder.
     

    Last edited Thu at 9:37 PM by Verreynne, version 37

  • 相关阅读:
    动态规划算法
    Spring依赖循环
    使用JMH微基准测试
    expect介绍和使用
    autossh使用(本机记住ssh密码)
    ssh端口转发(ssh隧道)
    WSL2中的Centos8安装桌面
    Tmux Plugin Manager使用及具体插件
    Python使用os.chdir命令切换python工作目录
    python脚本要控制jenkins触发job
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3222817.html
Copyright © 2020-2023  润新知