zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Git 快速入门
    【工具软件】-Win10 应用软件找不到映射网络驱动器的解决方法
    Java笔记(十五)……面向对象IV多态(polymorphism)
    Java笔记(十四)……抽象类与接口
    Java笔记(十三)……面向对象III继承(inheritance)
    Java笔记(十二)……类中各部分加载顺序及存放位置问题
    Java笔记(十一)……单例设计模式
    Java笔记(十)……面向对象II封装(Encapsulation)
    Java笔记(九)……面向对象I
    Java笔记(八)……数组
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3222817.html
Copyright © 2011-2022 走看看