icon-arrow-left Microservices: Brownfield: Transactions
The support reporting for our micro-services architecture system can be a little complex. At difference to a monolithic architecture where you may have a few databases to report from, in the micro-services architecture system, you will have a tons of databases to report from since each micro-service will have its own database.
The report of the data will come from the be split across multiple micro-services and since there is no a central database where you could extract this information you may need to join data across databases. Also, in the micro-service architecture system, reporting can be slow.
One way to facilitate the reporting is to have a dedicated reporting micro-service which calls all our micro-services and takes care of collecting and consolidate the data. The only disadvantage is when we are reporting large volumes of data or we wish to obtain a report in real-time.
When moving from a monolithic system to a micro-service architectured system, we need a different approach when dealing with transactions.
Transactions are useful:
- They ensure data integrity.
- They allow us to updates several records as part of one transaction.
- If one or more updates (and/or creates) fails, we can roll the entire transaction back.
In monolithic transactions are simple. We can have one process which is updating and creating records. These records are part of the transaction; therefore, the same process can either commit the transaction or roll it back if there are any issues.
(This document is in process, it will be continually updated until completion. Please be patience).
Right now, I am learning how to program in PROLOG (PROgramming in LOGic) in my course of programming languages at Binghamton University. I must confess that I find it to be very different to what I thought it would looks like.
Prolog was mainly used for artificial intelligence and computational linguistics (http://en.wikipedia.org/wiki/Prolog). I would really like to know if it is used outside of the academic environment. If anyone have any info about this let me know.
The following article at http://www.kuro5hin.org/story/2004/2/25/124713/784 written by tkatchev says that Prolog can be used for hacking. Even do I agree with tkatchev that is plausible, I would love to see an actual example. Some encryption braking, etc. Also, I agree that the way it is presented could be more effective if applied to real life uses than IA.
Assuming you have done the previous step of reorganizing your code, now can get ready for the migration to actual micro-services. Your monolithic architecture should be looking more or less as follow:
NOTIFICATION: These examples are provided for educational purposes. The use of this code and/or information is under your own responsibility and risk. The information and/or code is given ‘as is’. I do not take responsibilities of how they are used.
In the symmetric encryption, the same key (normally a single-key) is used to perform the encryption and decryption of the ciphertext.
Symmetric Cipher Model: This model is performed by performing transformations and substitutions on the plaintext. A secret key, independent from the plaintext and the algorithm, is used to cipher the plaintext. After, the ciphertext plus the secret key is used with the decryption algorithm to obtain the original plaintext.
I know. I known. I am a little late with this posting. It is already January 24. I had a vacation going Argentina and Uruguay, visiting my family, my friends, and the technical high-school were I graduate.
Lo se, lo se. Estoy un poco tarde con este posting. Estamos ya en Enero 20. Me tome unas vacaciones yendo a Argentina y Uruguay, visitando la familia, los amigos y la escuela técnica en la que me gradué.
I would say that 2010 was a very busy year. Many mistakes were made but a lot was learned from them.
El año 2010, fue un año muy ocupado. Muchos errores fueron echos pero mucho se aprendió de ellos.