Henry Nnonyelu (@HenryBuildss) header
Henry Nnonyelu (@HenryBuildss) profile picture

Product | Fintech | Technology BA โ†’ PM โ†’ Product Owner

Earth.
Joined July 2021
Photo by Henry Nnonyelu (@HenryBuildss)Photo by Henry Nnonyelu (@HenryBuildss)Photo by Henry Nnonyelu (@HenryBuildss)Photo by Henry Nnonyelu (@HenryBuildss)Photo by Henry Nnonyelu (@HenryBuildss)Photo by Henry Nnonyelu (@HenryBuildss)Photo by Henry Nnonyelu (@HenryBuildss)Photo by Henry Nnonyelu (@HenryBuildss)Photo by Henry Nnonyelu (@HenryBuildss)Photo by Henry Nnonyelu (@HenryBuildss)
Yeah if Putin goes, it's the Scramble for Africa part deux...
1,480
11,571
573
36,650
829,140
This makes me scared of the religion. Then you'll find some Africans are Muslim, ๐Ÿ˜ญ๐Ÿ˜ญwhy? Your ancestors were taken into slavery by the same religion you believe in.
68
394
20
674
21,111
Henry Nnonyelu retweeted
BREAKING: Starlink just helped make medical history in Africa! ๐Ÿ‡ณ๐Ÿ‡ฌ Using a Starlink internet connection, a surgeon near Lagos remotely controlled a robot to remove a cancerous kidney from a patient in Abuja, around 500 km away, in West Africaโ€™s first tele-robotic surgery.
539
1,883
296
9,865
1,537,866
Henry Nnonyelu retweeted
Afua Hirsch: "BBC Wanted Me to Include 'Corruption' in African Art Documentary" At the World Decolonization Forum in May 2026, journalist Afua Hirsch (@afuahirsch) ripped on the BBC for asking her to include images of poverty and corruption in a documentary series about art in Africa. When will Africans ever be able to talk about our accomplishments without mentioning ridiculous Western-generated tropes? Drop us a comment. Follow us: @Spearhead_Af Video credit: worlddecolonizationforum (YouTube)
33
782
26
1,407
165,295
Henry Nnonyelu retweeted
Former Refugee: "I Witnessed Foreign Aid Workers Drop Off G*ns, Alcohol & Dr*gs to Refugees" Congolese refugee in Botswana Tina Nyambwe says she canโ€™t trust the United Nations after all of the human rights violations she witnessed as a child. Can you blame her? Drop us a comment. Follow us: @Spearhead_Af Video credit: tina.sambo.96 (Facebook)
43
1,304
60
2,287
149,611
Henry Nnonyelu retweeted
โ€œIf Your Name Is Michael And You Stay In The UK, And Your Girlfriend Is Tolani Who Stays In Abuja, Know That Your Girlfriend Is Pregnant For Her Nigerian Boyfriend. Theyโ€™re Planning To Pin The Pregnancy On You Because Youโ€™re Coming Back Next Month To Do An Introduction For Her. You Better Abort Coming.โ€ ~ A Lady And Her Friend Claim To Have Overheard a Conversation And Are Warning a UK Based Nigerian Man Identified As Michael To Be Careful About His Soon-To-Be Wife. ๐Ÿ‘€
264
1,495
131
4,328
566,066
Henry Nnonyelu retweeted
Do a flip for no reason
425
1,790
241
29,929
2,160,062
Bro has so much intimacy with Assembly that he sees C as Python ๐Ÿ˜ญ
98
310
83
3,275
151,879
Henry Nnonyelu retweeted
She isn't wrong. Cartoons have no business having LGBTQIA characters, as it is cartoons are what shapes children's mind and they mimick what they see cartoons doing.
744
5,449
291
34,262
563,560
Human chain saved a dog and became a statue โค๏ธ
1,032
15,201
581
171,419
7,013,649
Henry Nnonyelu retweeted
System Design - Event Driven Architecture and messaging โ€“ Day 42-Synchronous vs Asynchronous Communication Every API call doesn't need an immediate response.Knowing when to wait and when not to is one of the biggest differences between building small applications and designing scalable systems. What is Synchronous Communication? In synchronous communication, the caller waits until the receiver finishes processing and returns a response. Client โ”‚ โ–ผ Order Service โ”‚ โ–ผ Payment Service โ”‚ (wait) โ”‚ Response The request isn't complete until every required service responds. Examples: REST APIs gRPC Database Queries Authentication APIs What is Asynchronous Communication? In asynchronous communication, the caller doesn't wait for downstream processing to finish. Client โ”‚ โ–ผ Order Service โ”‚ Publish Event โ”‚ Message Queue โ•ฑ โ”‚ โ•ฒ โ–ผ โ–ผ โ–ผ Email Inventory Analytics The request returns immediately while background workers process the remaining tasks. Real-World Example Synchronous Checkout Place Order โ”‚ Charge Card โ”‚ Update Inventory โ”‚ Send Email โ”‚ Generate Invoice โ”‚ Return Success If the email service is slow... ๐Ÿ‘‰ The customer waits. Asynchronous Checkout Place Order โ”‚ Charge Card โ”‚ Save Order โ”‚ Publish Event โ”‚ Return Success Background Workers โ€ข Send Email โ€ข Update Inventory โ€ข Generate Invoice โ€ข Notify Warehouse The customer receives a response immediately. Synchronous vs Asynchronous Synchronous Asynchronous Caller waits Caller continues Blocking Non-blocking Lower complexity Higher complexity Immediate response Eventual completion Tightly coupled Loosely coupled Critical workflows Background processing Use Synchronous For โœ…Login โœ…Payment Authorization โœ…OTP Verification โœ…Search โœ…Profile Updates Anything requiring an immediate response. Use Asynchronous For โœ… Email โœ… Notifications โœ… Analytics โœ… Audit Logs โœ… Image Processing โœ… Report Generation โœ… Video Encoding โœ… Recommendation Engine Production Tip Don't make users wait for work they don't care about. A customer cares that: - Their payment succeeded - Their order is confirmed They don't care if the confirmation email is sent 300 ms later. That's exactly what asynchronous processing is designed for. Common Mistake Many teams make every service call synchronous. As the number of dependent services grows: - Latency increases - Failure rates increase - Availability decreases One slow dependency can delay the entire request. Key Takeaway Use synchronous communication for operations that require an immediate response. Use asynchronous communication for work that can happen in the background. The best production systems combine both.
2
27
99
2,263
Henry Nnonyelu retweeted
System Design Fundamentals - Caching and Performance - Day 36 Health Checks & Failover: What Happens When a Server Goes Down? You have 3 application servers behind a load balancer. โ”Œโ”€โ”€โ–บ Server A Users โ”€โ”€โ–บ Load Balancer โ”€โ”€โ–บ Server B โ””โ”€โ”€โ–บ Server C Everything works perfectly. Then... Server B crashes. If the load balancer continues sending traffic to Server B: Request โ”‚ โ–ผ Server B โ”‚ X 500 / Timeout Users start seeing failures. So how does the load balancer know that a server should stop receiving traffic? That's where Health Checks come in. What Is a Health Check? A load balancer periodically checks whether each backend instance is healthy. Load Balancer โ”‚ โ”œโ”€โ”€โ–บ Server A โ†’ Healthy โ”œโ”€โ”€โ–บ Server B โ†’ Healthy โ””โ”€โ”€โ–บ Server C โ†’ Healthy If a server repeatedly fails its health check: Server B โ”‚ Health Check Failed โ”‚ Marked Unhealthy โ”‚ Removed From Rotation New requests are sent only to healthy servers. Liveness vs Readiness This distinction is extremely important. Liveness Asks: "Is the application process alive?" If not, the process may need to be restarted. App Running? โ”‚ Yes โ†’ Alive No โ†’ Restart Readiness Asks: "Can this instance serve traffic right now?" An application can be alive but not ready. For example: - Database connection unavailable - Critical dependency unavailable - Application still starting - Internal initialization incomplete In that case, the instance should remain running but temporarily stop receiving traffic. Application โ”‚ Alive? โ†’ YES โ”‚ Ready? โ†’ NO โ”‚ Don't Send Traffic What Should a Health Check Verify? A simple endpoint might return: GET /health 200 OK But a useful readiness check may verify critical dependencies. For example: Application โœ“ Database โœ“ Redis โœ“ Critical Service โœ“ However, be careful. If every dependency is included blindly, one minor downstream failure could mark every application instance unhealthy and cause a larger outage. Health checks should reflect whether the instance can meaningfully serve the traffic it receives. Active vs Passive Health Checks Active Health Check The load balancer periodically sends a request. Load Balancer โ”‚ โ–ผ GET /health โ”‚ โ–ผ Server If multiple checks fail, the server is marked unhealthy. Passive Health Check The load balancer observes real traffic. If a backend repeatedly returns: Timeouts Connection Errors 5xx Responses It may temporarily remove that backend from rotation. What Is Failover? Health checks detect failure. Failover determines what happens next. Imagine: Primary Server โ”‚ X Failed โ”‚ โ–ผ Backup Server Traffic automatically switches to a healthy alternative. That's failover. Server Failover Suppose you have: Load Balancer โ”‚ โ”œโ”€โ”€โ–บ Server A โœ“ โ”œโ”€โ”€โ–บ Server B X โ””โ”€โ”€โ–บ Server C โœ“ Server B fails. The load balancer removes it. Traffic continues through A and C. Users โ”‚ Load Balancer โ”‚ โ”œโ”€โ”€โ–บ Server A โ””โ”€โ”€โ–บ Server C Users may never even know that Server B went down. Database Failover Failover isn't only for application servers. Imagine: Application โ”‚ โ–ผ Primary DB โ”‚ Replication โ”‚ Replica DB If the primary database fails, depending on the database architecture and configuration, a replica can be promoted to become the new primary. Primary DB X โ”‚ Failover โ”‚ Replica โ”‚ New Primary This process may be automatic or manual. Multi-Zone Failover Production systems often spread infrastructure across multiple availability zones. Load Balancer โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ Zone A Zone B โ”‚ โ”‚ Servers Servers If one zone becomes unavailable, traffic can continue through another zone. This reduces the risk of a single infrastructure failure taking down the entire application. Failure Detection Isn't Instant Imagine health checks run every: 10 seconds And the system requires: 3 consecutive failures It could take roughly 30 seconds, plus timing effects, before the server is removed. If checks are too frequent: More monitoring traffic. If thresholds are too aggressive: Temporary network issues may cause healthy servers to be removed. If thresholds are too relaxed: Users may continue hitting failed instances. Health-check configuration is a trade-off. Recovery Matters Too Suppose Server B recovers. Should traffic immediately return? Not always. A recovering server may need time to: - Warm caches - Initialize connections - Load configuration - Become fully ready A safer flow is: Server Starts โ”‚ Liveness Passes โ”‚ Readiness Passes โ”‚ Health Checks Stable โ”‚ Return to Load Balancer โ”‚ Receive Traffic Real Production Flow Users โ”‚ โ–ผ Load Balancer โ”‚ Health Checks โ”‚ โ”œโ”€โ”€โ–บ Server A โœ“ โ”œโ”€โ”€โ–บ Server B X โ””โ”€โ”€โ–บ Server C โœ“ โ”‚ โ–ผ Database Primary โ”‚ Replication โ”‚ Replica Server failure? Remove unhealthy server. Database failure? Fail over to a suitable replica when the architecture supports it. Zone failure? Route traffic to healthy capacity elsewhere. Key Takeaway High availability isn't about preventing every failure. Failures will happen. The goal is to: Detect failure quickly โ†’ Stop sending traffic to unhealthy components โ†’ Fail over safely โ†’ Recover without disrupting users. Health checks tell you: "Is this instance capable of serving traffic?" Failover answers: "Where should traffic go when it isn't?" Next Day - Circuit Breaker Pattern: How to Stop One Failing Service from Taking Down Your Entire System
3
28
136
3,288
So this is why elon wanted to rush the IPO so bad... ๐Ÿค” China just did it cheaper on their first try. RIP ๐Ÿ”ป
Readers added context they thought people might want to know
China's prior reusable rocket attempts, such as Zhuque-3 in December 2025 and Long March 12A, failed to recover the booster. This Long March 10B flight is not China's first try. en.wikipedia.org/wiki/Zhuque-3 space.com/space-exploratโ€ฆ
7,254
6,184
732
48,927
6,017,441
ุถุงุจุท ููŠ ุงู„ุฌูŠุด ุงู„ุฑูˆุณูŠ ู‚ุงู… ุจูุชุญ ุจุนุถ ุงู„ุญู„ูˆูŠุงุช ูˆุงู„ุดูˆูƒูˆู„ุงุชุฉ ุงู„ุชูŠ ุนูุซุฑ ุนู„ูŠู‡ุง ููŠ ู…ู†ุงุทู‚ ุงู„ู…ุนุงุฑูƒ ุจุฃูˆูƒุฑุงู†ูŠุงโ€ฆ ูˆู‡ุฐุง ู…ุง ูˆุฌุฏู‡.
824
3,904
284
23,801
7,673,536
Henry Nnonyelu retweeted
System design fundamentals Day - 24 Nginx Explained: The Web Server Behind Millions of Applications Yesterday we learned about Reverse Proxies. Today let's look at one of the most widely used reverse proxies in production: Nginx If you have deployed a Spring Boot, Node.js, Django, or .NET application, chances are Nginx was sitting in front of it. But why? What is Nginx? Nginx is a high-performance web server and reverse proxy. Instead of exposing your application directly to the internet... Users first connect to Nginx. Users โ”‚ โ–ผ Nginx โ”‚ โ–ผ Spring Boot App Nginx receives the request, processes it, and forwards it to the backend. Why Not Expose Spring Boot Directly? Because Nginx can handle many production concerns before the request reaches your application. It can: - Route requests - Terminate HTTPS (SSL/TLS) - Load balance traffic - Compress responses - Cache static content - Serve HTML, CSS, and JavaScript - Rate limit abusive clients This allows your application to focus on business logic. Typical Production Architecture Users โ”‚ โ–ผ Nginx โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ–ผ โ–ผ โ–ผ App 1 App 2 App 3 Instead of one server handling everything... Nginx distributes traffic across multiple application servers. Real Example A React + Spring Boot application might look like this: Users โ”‚ โ–ผ Nginx โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ React (Static Files) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ Spring Boot APIs One entry point. Two different workloads. Why Companies Love Nginx โœ” Extremely fast โœ” Lightweight โœ” Handles thousands of concurrent connections โœ” Easy SSL configuration โœ” Excellent reverse proxy โœ” Supports load balancing โœ” Widely used in production Simple Nginx Configuration location /api { proxy_pass http://localhost:8080; } Requests to /api are forwarded to your Spring Boot application. Key Takeaway Nginx isn't just a web server. It's the first layer of protection, routing, optimization, and scalability for modern web applications. Tomorrow we will explore API Gateway and see how it differs from Nginx.
17
74
1,905
Henry Nnonyelu retweeted
I wonder why people have not started using this.
177
1,225
42
4,821
314,464
ูุนู„ุงู‹ ุงู„ููŠู„ ุฃู‚ูˆู‰ ุญูŠูˆุงู† ุจุฑูŠ ุนู„ู‰ ูˆุฌู‡ ุงู„ุฃุฑุถ ู‚ูˆุฉ ุงู„ููŠู„ ุงู„ูˆุงุญุฏ ุชุนุงุฏู„ ู…ู† 12-20ุญุตุงู† ู‚ูˆุฉ ุงู„ููŠู„ูŠู† ู…ุนุงู‹ ู‚ุฏ ุชุนุงุฏู„ ูขูฅ ุฅู„ู‰ ูคู  ุญุตุงู† ุชู‚ุฑูŠุจุงู‹ ู‚ูˆุฉ ู‡ู€ุงุฆู„ุฉ ู„ู‡ุฐุง ุงู„ู…ุฎู„ูˆู‚
108
470
37
3,593
734,285
๐Ÿ”ฅ๐ŸšจLATEST: Canadian engineer John Tse is going viral after revealing his umbrella that follows him around as if he is in a futuristic movie. Tse created a fully autonomous umbrella that will assist people that need both of their hands while providing cover.
2,365
4,708
856
31,012
4,092,007
Henry Nnonyelu retweeted
Replying to @WealthySahil
Usually it gets asked for storing key as Object where this equals and hashcode contract is mandatory. Checked online it's same for Set also. Thanks for sharing it. I was asked similar question for key as object in hashmap
1
1
3
383
Henry Nnonyelu retweeted
2 years experience in Java and can't explain when to use static keyword? Sorry , but you are getting rejected...
10
2
1
89
8,550