Code Monkey home page Code Monkey logo

bankingproject's Introduction

Metrics metrics3

bankingproject's People

Contributors

dedovicnermin avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

dhiren1969

bankingproject's Issues

Kafka Connect and ElastiSearch

Idea is to have connect as a source when transfers are persisted into postgres db, then to have that transfer sent to elastic search to made available for querying

Documentation

Modify your git wiki to hold documentation of the project. Should consist of what the project is about and how to use it

Account & PaymentParty POJO

Account in router-streams and Account in Persistence will cause confusion.
Same with PaymentParty.
Classes are named the same but do not have same features/use case. Refactor

Kafka security

Would like to ensure all clients connecting to Kafka have credentials. secure connections.

Do not have in-depth knowledge on implementing security into Kafka ATM.

Elastic controller

Elastic component of rest application can be extended and functionality should be place in its own controller.

  • there should be a limit to how many search hits are returned on queries
  • querying for specific transaction id
  • querying for specific account number
  • new controller mapped to /elastic

Update Wiki + main readme

docker-compose-security : kafka environment (broker and all of its clients) are secured.

  • include reference to the readme in /ssl
  • include limitations of SSL in kafka

losing correlationId downstream

replies on balance update request come full circle, but somewhere along the line, a stream is removing the correlationId header sent by rest.

REST

allow message id to come in as null. Generate UUID and insert into TransferMessage prior to sending the message to the broker.

Add another bank

Also means add topics for new bank. might have to recycle old topics to make name scheme more convenient

Apache Avro and Schema registry

delegate serialization/deserialization to apache avro and create schema registry for objects.
will useful for ksql
aiming to not change any xml based interactions

Kafka cluster

upgrade brokers 1 -> 3
update partitions 1 -> 3

figure out how to test throughput. test X amount of messages being sent in a certain timespan, record values / seconds into csv, output to excel

Transient error appearing more often

TransferFundsIntegrationTest.whenTransferErrorArrives_errorConsumerWillConsume() - found in rest tests

when testing this class or specifically testing this case, will pass every time. However, running mvn clean install typically requires two attempts (one fail / next passing).

Idea is to use @timeout junit annotation. If not, will have to add asynchronous library awaitility

Router-streams testing

goal is to limit the number of integration tests / application-context startups.
TestTopologyDriver should be used for replacing tests

EmbeddedKafka - JUnit

When running individual class file tests, works great. Embedded Kafka starts, executes tests, and closes.
However, when running mvn clean install, sometimes a certain test will work and other times fail.
Upon further research, seems to me as if another test starts to run before completely shutting down the embedded kafka server.
Solution most likely involves having a single Kafka broker server and running all tests on this.

rest and persistence

refactor embedded kafka tests on rest and persistence based on findings from transformer tests

Test Embedded Kafka

AS a persistence application
I want to ensure kafka implementation will work or handle unexpected errors

Kafka retries

add retry configuration to remove stress on computer
default integer.max_value

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.