Coder Social home page Coder Social logo

Publish artifacts on maven about aeron HOT 25 CLOSED

real-logic avatar real-logic commented on May 19, 2024
Publish artifacts on maven

from aeron.

Comments (25)

mjpt777 avatar mjpt777 commented on May 19, 2024

Yes we plan to publish to Maven Central in the not too distant future.

from aeron.

 avatar commented on May 19, 2024

Kewl. I had already "mavenized" Aeron by myself, but having Aeron on Maven
Central is much better, of course :-)

*Fortuna audaces adiuvat - hos solos ? *

On 24 November 2014 at 17:09, Martin Thompson [email protected]
wrote:

Yes we plan to publish to Maven Central in the not too distant future.


Reply to this email directly or view it on GitHub
#31 (comment).

from aeron.

tmontgomery avatar tmontgomery commented on May 19, 2024

assigning to myself. We'll discuss timing of this for a 1.0 release.

from aeron.

tmontgomery avatar tmontgomery commented on May 19, 2024

Should revisit this soon.

from aeron.

MichaelDrogalis avatar MichaelDrogalis commented on May 19, 2024

I'd greatly appreciate a Maven artifact before 1.0.

from aeron.

mjpt777 avatar mjpt777 commented on May 19, 2024

I think we can have a sweep of the current bugs and then look to doing a 0.1 release.

from aeron.

MichaelDrogalis avatar MichaelDrogalis commented on May 19, 2024

That'd be swell, I can make immediate use of that. Thanks @mjpt777!

from aeron.

RuedigerMoeller avatar RuedigerMoeller commented on May 19, 2024

messy task ahead :-)

2015-03-06 21:17 GMT+01:00 Michael Drogalis [email protected]:

I'd greatly appreciate a Maven artifact before 1.0.


Reply to this email directly or view it on GitHub
#31 (comment).

from aeron.

brianfromoregon avatar brianfromoregon commented on May 19, 2024

+1 :)

from aeron.

mjpt777 avatar mjpt777 commented on May 19, 2024

This will happen shortly when we release 0.1 beta.

from aeron.

tmontgomery avatar tmontgomery commented on May 19, 2024

Watch this space....

from aeron.

RuedigerMoeller avatar RuedigerMoeller commented on May 19, 2024

drum roll

from aeron.

erdem-aslan avatar erdem-aslan commented on May 19, 2024

Finally :)

from aeron.

tmontgomery avatar tmontgomery commented on May 19, 2024

It is done. Aeron 0.1 is submitted to maven.

Artifacts:

  1. aeron-client for client only
  2. aeron-driver for driver and client
  3. aeron-all for client and driver and Agrona
  4. aeron-tools and aeron-system-tests also included if desired

from aeron.

RuedigerMoeller avatar RuedigerMoeller commented on May 19, 2024

+1 ;) will experiment to lift aeron to an object-universe. I think I'll call it Egon :)

from aeron.

mjpt777 avatar mjpt777 commented on May 19, 2024

For mapping to the object universe, SBE has been improved for tighter integration.

from aeron.

tmontgomery avatar tmontgomery commented on May 19, 2024

FYI, I will be doing a release of SBE tomorrow.

from aeron.

MichaelDrogalis avatar MichaelDrogalis commented on May 19, 2024

Hooray! Congrats everyone!

from aeron.

krisskross avatar krisskross commented on May 19, 2024

Sweet!

from aeron.

RichardWarburton avatar RichardWarburton commented on May 19, 2024

Excellent stuff!

from aeron.

RuedigerMoeller avatar RuedigerMoeller commented on May 19, 2024

Haven't looked for a while into SBE. I thought about providing a generic SBE codec for fst-ser some time ago, this would enable to mix the convenience+productivity of a "top down approach" with performance and platform-neutrality of SBE's bottom up approach. However unsure on how to achieve this. Either generating SBE message layouts from classes or define a generic java-object message (don't know if this could be expressed with SBE).
(edit: .. SBE-IR !)

from aeron.

mjpt777 avatar mjpt777 commented on May 19, 2024

@RuedigerMoeller Objects directly mapping to messages is like objects directly mapping to database tables. There are fundamental differences which are best respected. I like to treat messages as first class and not pretend objects can be turned into messages by magic. To have clear separation of concerns a message should just contain the information that must be communicated and not be coupled to how it is transformed to and from object implementations. I get such bad feeling in my stomach when I see DTOs.

from aeron.

RuedigerMoeller avatar RuedigerMoeller commented on May 19, 2024

@mjpt777 I'd disagree here.
First, modelling a network connection as a stream of objects isn't that a leaky abstraction compared to what is done in the db-mapping domain.
Second, it depends on the productivity/flexibility/performance tradeoffs one is willing to make.

See:
By implementing the reactive-streams spec for kontraktor (just a few 100 lines of code) I get:

  • remotable reactive streams for free (generic remoting)
  • connectivity using tcp, websockets, [+http] for free
  • Binary encoding or Json encoding for free.
  • javascript cross platform connectivity (mostly for free)

at a reasonable end to end performance (up to 1.8 million remoted reactive stream msg per sec). The application on top deals with object-level streams and object level async remote calls, so I can run it on a load of different topologies (incl. single process). If I add e.g. an Aeron connector, existing code will profit immediately without requiring a change.

Will you run a low latency HFT app on that ? Probably not, but its possible to build a reasonable performing distributed application with very little amount of code and manpower, in addition level of distribution becomes kind of a deployment time decision, only pay for remoting if you actually need it.
Lifting the level of abstraction enables generic optimizations which would have to be done manually otherwise. So top-down abstraction has upsides and downsides same as Java vs. C.

from aeron.

mjpt777 avatar mjpt777 commented on May 19, 2024

@RuedigerMoeller We can agree to differ :-)

For me objects fundamentally have state and behaviour and they tend to exist within a graph of dependencies. Messages on the other hand should just be data represented in a cross language and cross platform manner. Messages should also be individually versioned, and belong to a interaction protocol that is versioned in itself.

Reactive streams is about reacting to events which are encapsulated in messages. Not about reacting to objects. We may implement in actual classes for an language but the semantics are different. I find that when the differences are respected then a lot of good properties flow. I'd put my messages in a shared context from a DDD perspective.

I'm not arguing against useful abstractions. I just think messages are a better abstraction for communication than objects.

from aeron.

RuedigerMoeller avatar RuedigerMoeller commented on May 19, 2024

@mjpt777 I agree regarding semantics of Objects vs Messages. I am talking of representation. An immutable class can be semantically treated as a message.
If one uses the class-level representation as a foundation of encoding/message generation it has the benefit that protocol behaviour can be developed at higher level (object/class universe) allowing to share a single behaviour implementation across various transports and wire formats.
That was the point I was trying to make regarding reactive streams (proof of concept): I implemented the behaviour once at high level (async rpc) and can use this with various network transports and encodings as well as in-process.

Versioning/cross platform: Depends, if its just streaming some data from one backoffice system to another, there might be some YAGNI ;) .

from aeron.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.