Hi Isuru,

I’d be happy to contribute by kick-starting this effort with the initial
proof of concept (POC) and design work.
I’m confident that once the initial version is ready, we can increase
developer awareness and attract potential contributors.

Hi Nuwan,

I appreciate your willingness to support this initiative.
I will share the initial plan here as soon as possible.

Best regards,
Lahiru

On Sat, Dec 14, 2024 at 6:57 PM Nuwan Jayawardene <nsga...@gmail.com> wrote:

> Hi Isuru and Lahiru,
> I'd be happy to contribute to this.
>
> Would be great if there's an initial plan on how we approach this in a
> phased/modular manner.
> That'll help get everyone on the same page and can also support in
> onboarding new contributors.
>
> Best.
>
> On Sat, Dec 14, 2024 at 2:41 AM Isuru Udana <isud...@apache.org> wrote:
>
>> Hi Lahiru,
>>
>> I like the idea. Can you explain how you can contribute to this? And we
>> need to see whether there are more contributors willing to contribute to
>> this in case we decide to move forward.
>>
>> Thank you.
>>
>> On Thu, Dec 12, 2024 at 7:55 PM Lahiru Madushanka <
>> gdlmadusha...@gmail.com> wrote:
>>
>>> Dear Apache Synapse Development Team,
>>>
>>> I hope this email finds you well. My name is Lahiru Madushanka, and I’m
>>> an enthusiastic supporter of the Apache Synapse project. I’m writing to
>>> propose exploring the use of GO (Golang) in the Synapse project to improve
>>> its performance and runtime efficiency.
>>>
>>> GO, developed by Google, is a statically typed, compiled language
>>> designed for simplicity, performance, and scalability. Several benefits
>>> make it worth considering for Apache Synapse.
>>> 1. Performance and Binary Size Advantages
>>>
>>> GO’s compiler generates highly optimized binaries that are compact and
>>> self-contained, eliminating the need for large dependencies or runtime
>>> environments. This approach can significantly reduce the size of Synapse’s
>>> distributable artifacts while improving startup times and memory
>>> consumption making it container friendly.
>>> 2. Speed Through Goroutines and Channels
>>>
>>> One of GO’s standout features is its efficient concurrency model,
>>> centered on goroutines and channels. Goroutines allow us to handle
>>> thousands of concurrent operations with minimal overhead, as they are much
>>> lighter than traditional threads. This is particularly beneficial for
>>> high-performance middleware like Synapse, which often deals with multiple
>>> simultaneous tasks such as routing, message transformation, and integration.
>>> 3. Backwards Compatibility with Existing DSL
>>>
>>> We can design the new system to use the same DSL as the current
>>> implementation, ensuring seamless backward compatibility. This will allow
>>> users to migrate to the new system without requiring changes to their
>>> existing configurations or workflows.
>>> 4. Maintainability and Developer Productivity
>>>
>>> GO’s clean syntax and emphasis on simplicity reduce the cognitive load
>>> for developers, leading to faster development cycles and easier
>>> maintenance. Its strong standard library and built-in tools for testing,
>>> benchmarking, and profiling further support robust development practices.
>>> This could foster greater collaboration within the community and attract
>>> new contributors.
>>> Suggestions
>>>
>>> To assess the potential benefits of using Go, I recommend beginning with
>>> a minimal prototype that includes API support and a few commonly used
>>> mediators. This will allow us to benchmark its performance and resource
>>> usage against current implementations.
>>>
>>> We can then iteratively expand the functionality in manageable
>>> increments, ensuring that each addition is carefully optimized to avoid
>>> significant performance degradation.
>>>
>>>
>>> I understand that introducing a new codebase into the project is a
>>> significant decision. However, I believe the potential benefits for Apache
>>> Synapse’s performance, scalability, and developer experience make this
>>> exploration worthwhile.
>>>
>>> Thank you for considering this suggestion. I would be happy to
>>> collaborate on any initial discussions or prototyping efforts. Please let
>>> me know your thoughts or if further details are required.
>>>
>>> Best regards,
>>>
>>> Lahiru Madushanka
>>>
>>>
>>
>> --
>> *Isuru Udana*
>> VP, Apache Synapse
>> Member, Apache Software Foundation; http://www.apache.org
>>
>> *email: isud...@gmail.com <isud...@gmail.com>* cell: +94 77 3791887
>>
>>
>
> --
> *Nuwan Jayawardene*
> https://www.linkedin.com/m/in/nuwanjaya
>
>

Reply via email to