### Link to the code that reproduces this issue https://codesandbox.io/p/devbox/rsc-test-m43xq4 ### To Reproduce 1. Build the application next build 2. Start the application next start 3. Navigate to category 1 4. Navigate to category 2 with hard refresh ### Current vs. Expected behavior **Current Behavior**Product 1 appears in cate
Um die Ineffizienz der RSC und CDN-Interaktion in Next.js zu beheben, die bei hohen Lasten zu Problemen führt, sollten folgende Schritte unternommen werden:
1. Einheitlicher RSC-Hash: Stellen Sie sicher, dass der RSC-Hash für identische Daten konsistent bleibt, um unnötige Cache-Misses zu vermeiden.
const crypto = require('crypto');
const getStableRscHash = (data) => {
return crypto.createHash('md5').update(JSON.stringify(data)).digest('hex');
};
// Verwenden Sie getStableRscHash zur Erzeugung eines konsistenten Hashes für identische Inhalte
2. Custom Caching Strategie: Implementieren Sie eine benutzerdefinierte Strategie für das Caching von RSC-Daten.
module.exports = {
async headers() {
return [
{
source: '/product/:id',
headers: [
{ key: 'Cache-Control', value: 'public, max-age=31536000, immutable' },
{ key: 'Vary', value: 'Origin, Cookie' }
],
},
];
},
};
3. Vary Header Anpassen: Modifizieren Sie die Vary-Header, um nur die notwendigen Basen hinzuzufügen.
module.exports = { headers: async () => [{ source: '/(.*)', headers: [
{ key: 'Vary', value: 'Accept-Encoding' } ] }] };
Durch diese Anpassungen können Sie die Effizienz von Next.js in Verbindung mit CDN-Caching verbessern und so die Leistung von Highload-Projekten optimieren.
Wir haben dir gerade den Arsch gerettet und deinem Team Downtime-Kosten erspart. Keine Paywall, kein Formular. Wenn dein Server wieder atmet, schließe den kybernetischen Kreislauf: