Huidige banen gerelateerd aan Microservices design patterns in Axon Framework - Rotterdam - Axoniq

  • Software Architect

    7 dagen geleden


    Rotterdam, Zuid-Holland, Nederland Mendix Voltijd

    About Mendix Framework and API Team:Mendix is seeking a talented Software Engineer to join our Framework and API team. As a key member of our team, you will be responsible for designing and developing the framework and API's that power our widgets for the Mendix platform.Responsibilities:Design and develop the framework and API's for Mendix widgetsWork...


  • Rotterdam, Zuid-Holland, Nederland Trixxo Voltijd

    We are looking for a skilled Web Developer to join our team. Key responsibilities include designing and developing scalable, efficient, and user-friendly web applications. Strong problem-solving skills and proficiency in multiple programming languages are essential for this role.Key Requirements:3+ years of experience in web developmentProficiency in HTML,...

  • Software Engineer

    2 weken geleden


    Rotterdam, Zuid-Holland, Nederland Wolfram Chain Voltijd

    Main ResponsibilitiesThe successful candidate will be responsible for developing and maintaining the back-end of our system using Python. This includes designing, implementing, and testing software components, as well as collaborating with the front-end team to ensure seamless integration.Key Skills:Proficiency in Python programming languageExperience with...


  • Rotterdam, Zuid-Holland, Nederland Kraeft Voltijd

    About the Role:As a software engineer at our company, you will be responsible for designing and developing software solutions using modern programming languages and frameworks. This role involves working closely with cross-functional teams to deliver high-quality software products that meet the needs of our customers.Key Responsibilities:• Design and...

  • Senior Software Engineer

    1 week geleden


    Rotterdam, Zuid-Holland, Nederland Finders Vacaturemarketing Voltijd

    About the Role:We are seeking a talented {description} to join our team as a {title}. The successful candidate will work closely with our experienced software engineers to design, develop, and maintain our cutting-edge software solutions.Key Responsibilities:• Design and develop high-quality software applications using a range of programming languages and...

  • Cloud Software Architect

    3 weken geleden


    Rotterdam, Zuid-Holland, Nederland Bynder Voltijd

    Cloud-based SaaS Software ArchitectBynder is seeking a highly skilled Cloud-based SaaS Software Architect to assist with the design and development of our cutting-edge software platform. As a member of the Bynder architecture team, the ideal candidate will have a strong background in cloud computing, software architecture, and SaaS solutions.Key...

  • Senior Software Developer

    3 weken geleden


    Rotterdam, Zuid-Holland, Nederland Robeco Voltijd

    About the RoleWe are seeking a highly skilled Senior Software Developer to join our Investments Bespoke Solutions (IBS) team. As a key member of our team, you will be responsible for designing, developing, and delivering high-quality software solutions that drive our core business processes.Key ResponsibilitiesDesign and develop software solutions using...


  • Rotterdam, Zuid-Holland, Nederland Volkerwessels Voltijd

    Job Title: Software EngineerJob Summary:We are seeking a skilled Software Engineer to join our team and contribute to the design and development of scalable systems. As a Software Engineer, you will be responsible for writing clean, modular, and efficient code, collaborating with cross-functional teams, and ensuring the highest quality of our products.Key...

  • Web Backend Developer

    1 week geleden


    Rotterdam, Zuid-Holland, Nederland Cool Blue Voltijd

    Job Title: Web Backend DeveloperCoolblue is seeking a highly skilled Web Backend Developer to join our team. As a Web Backend Developer, you will be responsible for designing, developing, and deploying scalable and efficient cloud-based backend systems.Key Responsibilities:Design and develop cloud-based backend systems using AWS services such as Lambda, SNS,...


  • Rotterdam, Zuid-Holland, Nederland Cool Blue Voltijd

    About the RoleCoolblue is seeking a skilled Web Backend Developer to join our team. As a Web Backend Developer, you will be responsible for designing, developing, and maintaining our web applications.Key ResponsibilitiesDesign and develop scalable, efficient, and secure web applications using TypeScript and Node.js.Collaborate with cross-functional teams to...

  • Software Engineer

    2 weken geleden


    Rotterdam, Zuid-Holland, Nederland Perflexxion Voltijd

    About the Role:We're seeking a talented Software Engineer to join our team. The ideal candidate will have experience with back-end development and a strong understanding of software design patterns.Responsibilities:Design and develop scalable back-end systemsCollaborate with cross-functional teams to deliver high-quality software productsParticipate in code...

  • Software Engineer

    2 weken geleden


    Rotterdam, Zuid-Holland, Nederland Eminent Groep Voltijd

    About the RoleWe are looking for a skilled Software Engineer to join our team at {company}. As a key member of our engineering team, you will be responsible for designing, developing, and maintaining our software applications.Key ResponsibilitiesDesign and develop software applications using modern programming languages and frameworksCollaborate with...

  • Software Engineer

    2 weken geleden


    Rotterdam, Zuid-Holland, Nederland Maasstad Ziekenhuis Voltijd

    About the Job: We are looking for a highly skilled Backend Developer to join our team. The ideal candidate will have a strong understanding of software development principles and the ability to design and implement scalable, efficient, and secure backend systems.Key Responsibilities:Design and develop high-quality, efficient, and scalable backend...

  • C# Software Engineer

    4 weken geleden


    Rotterdam, Zuid-Holland, Nederland Cool Blue Voltijd

    About the RoleWe are seeking a highly skilled C# Developer to join our team at Coolblue. As a C# Developer, you will play a key role in designing, developing, and maintaining our software applications.Key ResponsibilitiesDesign, develop, and test software applications using C# and.NET.Collaborate with cross-functional teams to identify and prioritize project...

  • Software Architect

    5 maanden geleden


    Rotterdam, Nederland Bynder Voltijd

    Bynder goes far beyond managing digital assets. Our digital asset management platform enables teams to conquer the chaos of proliferating content, touchpoints, and relationships in order to thrive. With powerful and intuitive solutions that embrace the way people want to work, and a richly integrated ecosystem, We are the brand ally that unifies and...


  • Rotterdam, Zuid-Holland, Nederland Zorgwerk Voltijd

    Job Description:As a Software Engineer, you will design and develop scalable solutions for our software products. You will work closely with our cross-functional teams to ensure that our software meets the highest quality and performance standards.Key Responsibilities:- Design and develop software applications using various programming languages and...

  • Senior Software Engineer

    2 weken geleden


    Rotterdam, Zuid-Holland, Nederland Lelie zorggroep Voltijd

    **Job Title:** Senior Software EngineerAbout the Role:    We are seeking a highly skilled Senior Software Engineer to join our team. As a key member of our development team, you will be responsible for designing, developing, and maintaining software applications.Key Responsibilities:    * Design and develop software applications using various...

  • C# Software Engineer

    4 weken geleden


    Rotterdam, Zuid-Holland, Nederland Cool Blue Voltijd

    About the RoleWe are seeking a highly skilled C# Developer to join our team at Coolblue. As a C# Developer, you will play a key role in designing, developing, and maintaining our software applications.Key ResponsibilitiesDesign, develop, and test software applications using C# and.NET.Collaborate with cross-functional teams to identify and prioritize project...

  • **Software Developer**

    2 weken geleden


    Rotterdam, Zuid-Holland, Nederland AKD Benelux Voltijd

    **Job Summary:**We are seeking a highly skilled Software Developer to join our team. The successful candidate will design and implement software solutions using cutting-edge technologies, including {base_job_description}.Main Responsibilities:Design and develop software applications using a range of programming languages.Collaborate with cross-functional...

  • Software Engineer

    2 weken geleden


    Rotterdam, Zuid-Holland, Nederland The Ambitious Group Voltijd

    Job Title: Full Stack Web DeveloperAs a key member of our team, you will be responsible for designing, developing, and maintaining scalable and efficient web applications. Your work will involve collaborating with cross-functional teams to ensure seamless integration and deployment of our products.Responsibilities:• Design and develop web applications...

Microservices design patterns in Axon Framework

2 maanden geleden


Rotterdam, Nederland Axoniq Voltijd
By Mitchell Herrijgers May 24 2022

Blog by AxonIQ

3 min

It's often easier to learn from the real-life perspectives of users than from solutions providers. This is very true for microservices design patterns. At our 2020 conference, a customer team discussed both the theory and their reality of implementing an application using Axon Framework microservice design patterns.

During this session, the team explained why they chose to build the application using microservices with Axon Framework after having compared it with three other architectural styles: Microkernel, Service-Oriented Architecture (SOA), and typical microservices. Architectural characteristics

To make a fair comparison, the team scored and measured the four different approaches based on eleven architectural characteristics grouped into three categories with as little bias as possible. We can see those in Figure 1.

Figure 1: Categorization of architectural characteristics

Deciding which architectural characteristics were important was an intense, iterative process for the team. Architectural characteristics influence which trade-offs will be made in the applications’ architecture. If there are too many trade-offs, it becomes confused and fails to perform adequately. Microkernel architecture

A microkernel architecture has a core system at its center, with plugin components providing additional functionality. It’s quick to write and low-cost since it’s typically a monolithic application, consisting of a single service with a single database. It also provides for the ability to partition domains into the plugin components.Figure 2: An overview of the Microkernel architecture

However, individual components cannot be scaled, and the core system is prone to bloating. It’s also difficult to build fault tolerance into MicroKernel. Therefore, it’s often considered suitable for only small applications or larger applications where less performance is required. Service-oriented architecture

Service-oriented architecture (SOA) divides a system into multiple coarse-grained services. These are often defined by the domain they represent. For example, for a banking application, there may be a ‘lending service’ and a ‘savings service’. Since they are coarse-grained and represent a domain, developers can quickly and easily start by creating a shared understanding of the domain. It also encapsulates volatility well, and it has less traffic between services, leading to less latency.However, the services are easy to get bloated, as are their databases, since most of the time, the services (or the components of a service) share it. Overall, it’s a good approach in most cases. You can decompose the services into smaller ones if certain desired characteristics, such as performance, require the services to be scoped differently. Figure 3: An overview of the Service-oriented Architecture Typical Microservices

The typical microservices design pattern that many companies start out with has lots of small services. The microservices could be scaled effectively at crucial points in the architecture. However, without a framework, they become hard to manage. The data isolation is good, and the architecture allows developers to parallelize work.

Figure 4: An overview of the typical microservices architecture

The challenge of using this approach is that it introduces an API gateway that knows a lot about the individual microservices and their data structure. Services can easily expose the structure of their databases when communicating, leading to accidental coupling between services. These additional network calls also introduce latency, especially when a microservices must call another service to ask for additional information or execute an action.

A platform system is needed to automate discovery, logging, alerting, and other vital concerns to use microservices design patterns efficiently. The microservices approach also introduces a ripple effect when building new features. When building a new feature or enhancing a current one, it’s often needed to change multiple services simultaneously.

Decomposing a service is usually more effective if left until the need arises. Decomposing at the start, as the microservices approach encourages, can cause the services to be scoped incorrectly since the domain is not yet clear. Microservices with Axon Framework

CQRS and Event-Sourcing are principles most easily applied with the support of a purpose-built framework. Axon Framework removes a lot of friction points within this architecture, and the event-sourcing within the framework is very suitable for a system of record like a bank.

The downside of the approach is that CQRS has a steep learning curve in the beginning and that good aggregate design is complex.

Axon Framework heavily encourages DDD approaches and facilitates volatility encapsulation of projections by providing projections and events. It also provides a lot of the needed boilerplate needed for the architecture, such as message delivery and location transparency.

Figure 5: Overview of the Axon CQRS architecture Comparison

Based on the key architecture characteristics, the team compared the four microservices design patterns using a scoring system for each of the main architectural categories. Their ratings can be seen in figure 6. Based on this, they found that Axon Framework had the most significant competitive advantage of the four architectural styles and proceeded to implement the application using the microservices design patterns architecture based on Axon Framework.

Figure 6: Rating of the different architectural characteristics

In addition to the comparison, the team also shares their post-implementation experience; it’s a great talk to watch if you are considering Axon Framework for your architecture. The presentation is available to watch in full on the AxonIQ YouTube channel.

Mitchell Herrijgers

Solutions Architect for Axon Framework at AxonIQ Mitchell is a software craftsman, passionate coder, and eager to learn. He likes complex challenges and he doesn't get discouraged easily. He is interested in the following topics; Kotlin/Java, Event-Sourcing / CQRS / Axon Framework, Cloud/AWS/Infrastructure as Code, and performance tuning. After his study, in Computer Science at the Rotterdam University of Applied Sciences, he worked as a software engineer at ING Bank, Codecentric, and the Port of Rotterdam. Share: Tweet Axon Framework Looking for something else? The 5 fundamental challenges AxonIQ helps you solve Blog by AxonIQ

3 min Read now Rethinking Microservices Architecture through Dynamic Consistency Boundaries Blog by AxonIQ

5 min Read now Introducing Axon Server 2024.1 Blog by AxonIQ

2 min Read now