Hi diego, as a real fan of the golang, I'm cudoes and clap for your work on
this distributed crawler and hope you'll finally release it ;-)

About your question, the common architecture is to have one scheduler and
multiple executors rather than one big executor.
The basics of mesos is to take any resources, put them together on a pool
to then swarm tasks on this pool, so, basically the architecture of your
application should share this philosophy and then explode / decouple your
application as much as possible but be carreful to not loop lock yourself
on threads and tasks if they're dependents.

I don't know if I'm explaining myself correctly so do not hesitate if you
need more clarification.


2015-02-26 21:50 GMT+01:00 Diego Medina <[email protected]>:

> @John: thanks for the link, i see that RENDLER uses the ExecutorId from
> ExecutorInfo to decide what to do, I'll give this a try
> @Craig: you are right, after I sent the email I continued to read more of
> the mesos docs and saw that I used the wrong term, where I meant scheduler
> instead of framework, thanks.
>
> Thanks and looking forward to any other feedback you may all have.
>
> Diego
>
>
> On Thu, Feb 26, 2015 at 5:24 AM, craig w <[email protected]> wrote:
>
>> Diego,
>>
>> I'm also interested in hearing feedback to your qusestion. One minor
>> thing I'd point out is that a Framework is made up of a Scheduler and
>> Executor(s), so I think it's more correct to say you've created a Scheduler
>> (instead of "one big framework") and an Executor.
>>
>> Anyhow, for what it's worth, the Aurora framework has multiple executors (
>> https://github.com/apache/incubator-aurora/blob/master/examples/vagrant/aurorabuild.sh#L61).
>> You might pop into the #aurora IRC chat room and ask, usually a few Aurora
>> contributors are in there answering questions when they can.
>>
>> On Wed, Feb 25, 2015 at 9:02 PM, John Pampuch <[email protected]> wrote:
>>
>>> Diego-
>>>
>>> You might want to look at this project for some insights:
>>>
>>> https://github.com/mesosphere/RENDLER
>>>
>>>
>>> -John
>>>
>>>
>>> On Wed, Feb 25, 2015 at 5:27 PM, Diego Medina <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>>
>>>> Short: Is it better to have one big framework and executor with if
>>>> statements to select what to do or several smaller framework <-> executors
>>>> when writing a Mesos app?
>>>>
>>>> Longer question:
>>>>
>>>> Last week I started a side project based on mesos (using Go),
>>>>
>>>> http://blog.fmpwizard.com/blog/web-crawler-using-mesos-and-golang
>>>> https://github.com/fmpwizard/owlcrawler
>>>>
>>>> It's a web crawler written on top of Mesos, The very first version of
>>>> it had a framework that sent a task to an executor and that single executor
>>>> would fetch the page, extract links from the html and then send them to a
>>>> message queue.
>>>>
>>>> Then the framework reads that queue and starts again, run the executor,
>>>> etc, etc.
>>>>
>>>> Now I'm splitting fetching the html and extracting links into two
>>>> separate tasks, and putting those two tasks in the same executor doesn't
>>>> feel right, so I'm thinking that I need at least two diff executors and one
>>>> framework, but then I wonder if people more experienced with mesos would
>>>> normally write several pairs of framework <-> executors to keep the design
>>>> cleaner.
>>>>
>>>> On this particular case, I can see the project growing into even more
>>>> tasks that can be decoupled.
>>>>
>>>> Any feedback on the design would be great and let me know if I should
>>>> explain this better.
>>>>
>>>> Thanks
>>>>
>>>>
>>>> Diego
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Diego Medina
>>>> Lift/Scala consultant
>>>> [email protected]
>>>> http://fmpwizard.telegr.am
>>>>
>>>
>>>
>>
>>
>> --
>>
>> https://github.com/mindscratch
>> https://www.google.com/+CraigWickesser
>> https://twitter.com/mind_scratch
>> https://twitter.com/craig_links
>>
>>
>
>
> --
> Diego Medina
> Lift/Scala consultant
> [email protected]
> http://fmpwizard.telegr.am
>

Reply via email to