Blog

Technical exploration and thoughts · 655 articles

All big-datajavaartificial-intelligencemysqldata-engineeringbackenddata-warehouseflinkpythonroboticssparkhivellmmachine-learningdistributeddistributed-systemkafkaaiprogrammer-lifehdfsembodied-aideep-learningdatabasespringlangchainscalamybatiselasticsearchmongodbsystem-architectureperformance-optimizationmessage-queuehealtharchitectureredisspring-bootrabbitmqmqhadoopflumestream-processingtransactionelkmessagingrpctutorialsklearncachingcachedubboclickhousehbasejava-rabbitmqkylinneo4jmicroservicessqlindextomcatprogrammermultimodalzookeeperdruidcanalmllibormiocnutritionrobot-armteslaindie-devnginxdataxshardingshardingspherefastdfsrocketmqtime-managementcareer-growthdockeretlguavaoptimizationlearningapplicationslarge-modelquantizationkudulogstashdecision-treesqoopairflowrealtime-warehousemycatstorage-engineconsistencyfat-lossgptproduct-managercoffeebusiness-analysiscareer-and-growthmiddlewarecomputer-visionautonomous-drivingfsdqwenmapreducedeploymentcrudmonitoringdatabase-shardingdistributed-transactionconcurrencytransaction-pitfallsgraph-databasememcachednettyinnodbsalarycareer-developmentcold-showerrunningefficiencyluckinindustrymedicalindustrialautomationalgorithmlfplfp-batterybatteryevfitnesscareer-personal-growthocrdeepseekdeepseek-ocromniprogramming-languagecloud-nativeyarndatastreamjdbcolapknnlinear-regressionzipper-tablegriffindata-mappingdesign-patternshigh-availabilityread-write-separationsharding-jdbcsagasecurityreplica-setcqlsource-code-analysisevcacheservletaopload-balancinghandwrittenniomindfulnessmeditationreinforcement-learningagentconflictevaluationmoney-managementconsumptionsavingssocial-mediadatingmemoryprice-warcottiptqqatqloraqwen2.5-vlmultivitamincalciumevolutionindustrial-robotagriculturehardwaresimulationroslarge-language-modeldegradationslamresearchlinuxwindowraftkibanaaggregationnumpyregularizationlogistic-regressionprometheusexporteratlasstate-managementdevopskubernetesmavenacidannotation-developmentmaster-slave-replicationflexible-transactionxacap2pc3pcbsonexplainb-plus-treeslow-queryauthenticationclusterossaliyunsource-codeasyncnetflixjmsjava-rocketmqpaxosrmiengineeringphysiologyhot-showerpractical-guideexercisemuscle-buildingtransformertensorflowreportstechnical-sharingproductentrepreneurshipmethodologyteam-collaborationconflict-resolutioncollaborationgtdtoolsusage-timehealth-managementchina-usculturemarriagepartnercoffee-beverage-trendhomemade-coffeetasteperformancefine-tuningblip-2minigpt-4llavaalibabavitaminsfish-oilvitamin-cironfolatechronic-diseasesupplementstraditional-chinese-medicinewestern-medicineintegrated-medicinedevelopment-historytech-evolutionlakehousedata-meshserverlesstalenttech-selectionhistoryunimatetechnologyhydraulic-driveai-collaborationcategoriesservice-robothumanoid-robotlogisticscareerskillstrendsservicescaracobotmotorreducersensorplcmpccontroltrajectory-planningvisioncore-technologyperceptiondecision-makinghomedatamarketchallengescommercializationfuture-trendsmeta-learninglifestylenmc-batterybody-fat-percentagebody-shapingmuscle-gainstrength-trainingbody-fatmetabolismsympathetic-nerveparasympathetic-nerveautonomic-nervous-systemhrvtesting-platformapi-integrationautomotive3dmodel-yvisual-inspectionopen-sourceimitation-learningjava-21golangk8sgeminicepsourcesinkdatasetmergetreeik-analyzerdslterm-queryfilterinverted-indexnrtgrokfilebeattezdata-miningcross-validationnormalizationevaluation-metricsridge-regressionlassogradient-descentgrafanavisualizationodsscddimension-tabledwddwsadsrealtimememory-managementparallelismharborcontaineresp32home-assistantjenkinsgitlabcicdessaywebsiteastrofrontendxml-mappingdynamic-sqlsqlsessionhigh-concurrencymhafailoverdistributed-primary-keyscalingbinding-tablessql-optimizationbinding-tabletccseatadata-maskingdistributed-databasesharding-proxysharding-strategye-r-shardingconfiguration-filetransaction-isolation-levelschema.xmlpropagationdeclarative-transactionprogrammatic-transactiontransactionalplugindatabase-operationsnosqljsonpipelinepaginationwriteconcernpagehelpergeneric-mapperb-treeuse-casesselection-guidetemplaterepositorywiredtigerinmemorycontainerizationdata-modelingembeddedreferenceoplogelectionpermissionssharded-clustergraph-theoryeuler-pathproxy-patternembedded-databasebackupaccess-controldynamic-proxycloud-storagelruconcurrenthashmapoomdistributed-cachespymemcachedactivemqblockingqueuemessage-storagequeue-indexerlanghandwritten-frameworkjdkreverse-proxyprocessconfigurationclass-loadingssljvmioheartbeat-detectionspiroutingstorage-structureundoredothread-modeltablespacebinlogreplicationclustered-indexlockmvccsortingpipofflinevoice

RabbitMQ Connection/Channel Workflow Details

Deep dive into RabbitMQ Connection and Channel mechanism, AMQP frame structure packet capture analysis, and common issues and solutions under high concurrency.

RabbitMQ Work Queue and Fanout Pub/Sub Patterns

RabbitMQ Work Queue task queue load balancing practice and fanout publish-subscribe mode, including manual ACK, QoS flow control and temporary queue usage guide.

RabbitMQ Installation and Container Quick Start: Erlang, RPM

RabbitMQ production environment RPM installation tutorial, including Erlang compatibility configuration, Docker Compose quick start, common management commands and troubl...

RabbitMQ Producer/Consumer Workflow: Connection, Channel and ACK Mechanism

Complete producer and consumer workflow analysis for RabbitMQ, including Connection/Channel mechanism, default exchange behavior, message acknowledgment mechanism and com...

RabbitMQ Architecture and Exchange Routing Details

RabbitMQ architecture analysis and detailed explanation of four Exchange routing modes: fanout broadcast, direct exact, topic wildcard, headers multi-condition matching.

Java-201 RabbitMQ Message Persistence and Queue Index Details

Deep dive into RabbitMQ message persistence mechanism: queue index (.idx) + msg_store (.

RabbitMQ JMS Mode: Queue/Topic, 6 Message Types and Object Model

Java systems doing async decoupling and event-driven need unified understanding of JMS message model, object model and message types.

JMS Queue/Topic Cluster: Avoiding Duplicate Consumption

JMS Topic broadcasts in application cluster, causing same business to be repeatedly consumed by multiple nodes.

MQ Application: Cache Warm-up, Rate Limiting, Redis Lua and Traffic Peak Shaving

E-commerce seckill/ticket-grabbing scenarios with instantaneous traffic peaks, high read/write concurrency. Use pre-static + rate limiting queuing

Build MQ Prototype with BlockingQueue: Producer-Consumer Gap

Implement a minimal runnable message model with queue buffering and async decoupling using Java concurrency.

MQ Selection: RabbitMQ vs RocketMQ vs Kafka

Coexisting with traditional IBM MQ, need open source, operatable, scalable, consistency/reliability.

Distributed Communication: SOA/Dubbo, OpenFeign, Retry vs MQ

After distributed service splitting, inter-service communication evolved from synchronous calls to async decoupling, with retry, idempotency, and reliability patterns for...

Spymemcached Deep Dive: Thread Model, Sharding and Serialization

Java service integrating with Memcached needs to understand Spymemcached's thread model, sharding routing and serialization details.

EVCache Client Integration: Memcached Setup and Configuration

Java applications wanting to experience Netflix EVCache locally or in small teams, but server not open source, can only self-build based on Memcached.

EVCache Internal Principles: Memcached Architecture, Slab and Eviction

Using EVCache in large-scale distributed cache needs understanding of underlying Memcached memory management and eviction behavior.

Guava Cache Source Analysis: LocalCache, Segment and LoadingCache

Guava Cache is widely used in production, but many lack source-level understanding of LocalCache/Segment/LoadingCache behavior.

EVCache Introduction: Netflix-level Architecture and Multi-Region Cache

Want to learn Netflix's EVCache system for self-development, but only know it's 'Memcached-based distributed cache'.

Guava Cache: concurrencyLevel and refreshAfterWrite in Practice

Deep dive into concurrencyLevel, refreshAfterWrite and LoadingCache dynamic loading behavior, with horizontal comparison with custom LinkedHashMap LRU implementation.

Guava Cache Troubleshooting: OOM, Expiration and Hit Rate Issues

Using Guava Cache for local caching in Java projects, troubleshooting and fixing production issues like OOM, abnormal hit rate, thread blocking and performance regression.

Guava Cache: Deletion Strategy, Expiration and Common Pitfalls

Guava Cache uses 'lazy cleanup + LRU+FIFO' strategy. Passive deletion and active deletion need to be used together. Deep dive into expireAfterAccess, expireAfterWrite and...