Skip to main content

Posts

Showing posts with the label microservices

Tech Conversant Weekly Apr 24 - May 06

Topic: General                                                                                                                                              Level: All Welcome to the world of cutting-edge technology! Every bi-week, we bring you the latest and most incredible advancements in the tech industry that are sure to leave you feeling inspired and empowered. Stay ahead of the game and be the first to know about the newest innovations shaping our world. Discover new ways to improve your daily life, become more efficient, and enjoy new experiences. This time, we've got some exciting news to share with you! ZGC optimizes the HotStop JVM GC for low latency and scalability, offering the benefits of, 1. Scalable Heap memory area  2. Low latency <1ms GC pause times regardless of the heap size definitions 3. Autotuned GC for optimal performance  4. Throughput reduction  As the ZGC is designed, 1. Concurrency - threads continue to execute and collect objects for GC  2. Constant GC

Tech Conversant Weekly Mar 27 - Apr 08

Topic: General                                                                                                                                              Level: All Welcome to the world of cutting-edge technology! Every bi-week, we bring you the latest and most incredible advancements in the tech industry that are sure to leave you feeling inspired and empowered. Stay ahead of the game and be the first to know about the newest innovations shaping our world. Discover new ways to improve your daily life, become more efficient, and enjoy new experiences. This time, we've got some exciting news to share with you! Java Streams API operating on JSON documents is possible in two ways, 1. JsonObject accessing the JSON elements by name and processing it in string representation ie., the terminal operation JsonCollectors returns a JSON Array output  2. Jackson databinding with JsonNode reading the JSON as a string and using the JsonNode as stream http://www.mastertheboss.com/java-ee/json/h

Tech Conversant Weekly Feb 06 - Feb 11

Topic: General                                                                                                                                              Level: All Welcome to the world of cutting-edge technology! Every week, we bring you the latest and greatest advancements in the tech industry that are sure to leave you feeling inspired and empowered. Stay ahead of the game and be the first to know about the newest innovations that are shaping our world. Discover new ways to improve your daily life, become more efficient, and enjoy new experiences. This week, we've got some exciting news to share with you! Massive migrations from monolith to microservices can be daunting and cumbersome, however, teams at the Khan academy have proven otherwise. With insights and guidelines, this case study emphasizes the learnings and experiences, and adaptability as they evolved. 1. Setting the stage and objective  2. Settling on a tech stack  3. MVE Minimum viable Experience  4. Application re

Tech Conversant Weekly Jan 02 - Jan 07

Topic: General                                                                                                                                              Level: All In this post, we shall catch up on the multi-faceted technological updates that happened over the past week as well as a few that seized my attention, Microservices using shared memory for interservice communication and data processing, to speed up the processing between multiple services and achieve low latency with high throughput, creating a Virtual memory that offers shared memory space residing in the local disk for the services to leverage. The Chronicle library facilitates creating the memory region of the heap on a file for virtual memory and debugging the file with readable YAML format. The feature of the memory map file has been available since JDK4, FileChannel.map + MapMode.READ_WRITE = MappedByteBuffer (not thread safe) Other places for improvement are, 1) Thread safe access 2) Long offsets (64-bit) 3) Comple

Tech Conversant Weekly Nov 7 - Nov 12

Topic: General                                                                                                                                             Level: All In this post, we shall catch up on the multi-faceted technological updates that happened over the past week, Dealing with checked exceptions in functional interfaces via lambdas in Java Streams shatters the intent of a simplified functional pipeline making it verbose. By extracting the exception handling block to a class, Lombok annotation SneakyThrow, Apache Commons Lang Failable stream API, and Varv functional library with Streams offers alternatives for handlezing the try/catch scenario embracing code pipe flow, thereby optimizing lambdas in the Streams. https://blog.frankel.ch/exceptions-lambdas/ When we package and ship our application to the clients, making it evident on the dependencies (both stated and transitive) used in the application aids clients in making informed decisions, adhering to any defined standards,

Cross-Cutting Concern Patterns

Topic: Software Design                                                                                                        Level: Intermediate Cross-Cutting Concern Patterns - What? A concern that is applicable throughout the application of microservices that supplies a generic unified characterisation of functionality 1. External Configuration Application services often need to define configuration information related to database connectivity, logging, timeouts, port configs, external endpoints, queue connection properties, management endpoints etc., that would co-exist with the packaged/shipped application for deployment. Such configuration management setup introduces sophistication when there is a change in a configuration property, the associated application has to be recompiled, repackaged and redeployed leading to downtime and coordination overheads. Additionally violating the DRY (Don't Repeat Yourself) principle if multiple services use the same configuration properties

Observability Patterns

Topic: Software Design                                                                                                        Level: Intermediate Observability Patterns - What? Logging, Tracing, and Monitoring of multiple instances of distributed services across numerous servers 1. Log Aggregation With a microservices design paradigm, the application can have multiple services designated for fulfilling user requests in a discrete, loosely coupled manner isolated in their process boundaries. There may also be numerous instances of the service running facilitating load balancing and scaling on additional machines based on the demand.  As the services involved process the request it simultaneously generates log statements (information, warning, error, debug) related to its logic processing with a specified format directed to a defined log file. Log aggregation is responsible for consolidating the logs spanning across multiple instances onto a centralized service, such that we might be abl