Customers: Aton Investment company Product: Apache Kafka Project date: 2016/03 - 2017/09
|
Content |
Why there was a need to implement an integration bus?
That [1]
- Integration between systems are constructed by the principle everyone with everyone.
- Different formats and technologies of integration are used.
- It is difficult to implement plans for implementation of new products and systems.
Objectives
- Simplification of an integration layer in systems.
- Flexible architecture.
- Reuse of services.
Why Open Source:
- Cost of the solution.
- Fast start.
- Flexibility in the choice of a product.
- Big community.
- Wide functionality.
- Open source code.
Technology stack - the Transport layer of RabbitMQ, Apache Kafka Integration logic - ServiceMix
RabbitMQ
Advantages
- Is ideal for interaction with information systems.
- Asynchronous exchange.
- Multiplatform client (Java, .Net, Python, etc.).
- High performance.
- Fault tolerance (cluster, replication).
Kafka
Advantages
- Is ideal for the publication of information.
- Messages are not removed from a topic, and are stored during lifetime.
- Well copes with large volumes of data.
- Fault tolerance (cluster, replication).
Apache ServiceMix
Principal components:
- Karaf – OSGi a container.
- Apache Cxf – web/rest services.
- Drools is business rules.
- ActiveMQ is message exchange.
- Transformation is conversion of messages (for example, xslt).
- Quartz – a task scheduler.
- MyBatis – SQL a mapper.
- Set of adapters.
- Camel is the integration engine.
Integration architecture in Aton
- The main method of exchange between systems and the bus – RabbitMQ.
- The main interchange format between systems and the bus – XML.
- Also other technologies for systems which do not support RabbitMQ and XML are used.
Example 1. Remote opening of the account
Example 2. Market data
Types of market data:
- Handbook data on securities.
- Real time these (quotations):
- On average 50 messages per second.
- In dive of 2000 - 3000 messages per second.
Are used for:
- Constructions of diagrams.
- Displays of the current price.
- Calculation of different dokhodnost and indicators in the client's portfolio.
- Profitability calculation mutual fund.
- Data mappings on securities.
Operation mode:
- Request – the answer (handbook data and quotations).
- Subscription to changes (quotations).
Testing and monitoring
Car tests:
- Tests are started after installation of updates and according to the schedule each hour.
- Work in a real environment, without affecting normal functioning of a system.
- Result in the form of web of the page and mailing by mail in case of errors.
Logging of messages:
- Messages register in a DB.
- It is possible to monitor passing of the message on the bus.
- Web the interface for viewing.
Main integration services:
- Market data on securities.
- Services for receiving / change of data from the accounting systems (clients, accounts, transactions, etc.)
Notes
- ↑ byloiz presentations "Creation of an integration bus based on Open Source" Perepelkin Vadim Head of department of architecture and application integration, 2017